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

Allow user to provide ID when generating a PDB #2678

Merged
merged 2 commits into from
May 1, 2022

Conversation

andrewcrawley
Copy link
Contributor

Problem

The Visual Studio debugger's decompiler integration needs to be able to control the ID used for generated PDBs. There are a couple of scenarios that are interesting to us:

  1. Generating a PDB for an assembly that was built without debug info. The PDB writer currently fails in this case, since the input assembly has no debug directory from which to extract the relevant info. The debugger can provide values that will allow us to load the generated PDB.
  2. Generating a PDB for an assembly that has multiple debug directories. The PDB writer currently uses the first debug directory it finds, but this isn't necessarily the correct one. The debugger can disambiguate these and provide the correct values.

Solution

This commit adds a new parameter to PortablePdbWriter.WritePdb that allows the caller to specify the exact Guid and timestamp that should be used in the generated PDB.

  • At least one test covering the code changed

This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to specify the exact Guid and timestamp that should be
used in the generated PDB.  This will be useful for several scenarios
that are interesting for the Visual Studio debugger's integration:
1. Generating a PDB for an assembly that was built without debug info.
   The PDB writer currently fails in this case, since the input assembly
   has no debug directory from which to extract the relevant info.  The
   debugger can provide values that will allow us to load the generated
   PDB.
2. Generating a PDB for an assembly that has multiple debug directories.
   The PDB writer currently uses the first debug directory it finds, but
   this isn't necessarily the correct one.  The debugger can provide the
   correct values.
@siegfriedpammer
Copy link
Member

Thank you for your contribution!

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.

2 participants