Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add progress reporting to PortablePdbWriter #2802

Merged

Conversation

andrewcrawley
Copy link
Contributor

@andrewcrawley andrewcrawley commented Oct 14, 2022

Problem

As discussed in #2801, the Visual Studio debugger would like to be able to provide better progress feedback to users while a decompilation operation is in progress.

Solution

This commit adds a new parameter to PortablePdbWriter.WritePdb that allows the caller to provide an implementation of IProgress<> to receive status updates on the pdb generation process. Currently, the progress reports include the number of files generated so far and the total number of files.

#2801 mentions adding progress reporting to WholeProjectDecompiler as well, but that appears to already be present - see: https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.Decompiler/CSharp/ProjectDecompiler/WholeProjectDecompiler.cs#L256

  • At least one test covering the code changed

This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to provide an implementation of IProgress to receive
status updates on the pdb generation process.  Currently, the progress
reports include the number of files generated so far and the total
number of files.
@siegfriedpammer
Copy link
Member

@andrewcrawley thank you for providing the implementation. I have generalized and extended progress reporting in our code base... I hope that you are OK with the changes.

This PR now also implements cancellation of PDB generation in ILSpy and some visual changes:

The size of the progress bar was increased:

image

Progress now shows more information when exporting a project:

image

Progress reporting for PDB generation:

image

@siegfriedpammer siegfriedpammer merged commit e0c5b20 into icsharpcode:master Oct 21, 2022
@andrewcrawley
Copy link
Contributor Author

The changes look great, thank you! I was hesitant to wander too far from my original proposal : )

Is there a roadmap for the final release of 8.0, or any info you could share on when that might be?

@christophwille
Copy link
Member

No, there is no roadmap and/or timeline for 8.0. Most likely we will have a preview3 late this year, followed by again most likely a couple of RCs. Guesstimate: late winter/early spring next year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Proposal: Better progress reporting and cancellation for PortablePdbWriter
3 participants