getsentry / pdb

A parser for Microsoft PDB (Program Database) debugging information
https://docs.rs/pdb/
Apache License 2.0
367 stars 68 forks source link

Add support for FastLink symbols (S_REF_MINIPDB2 / S_FASTLINK) #122

Open mstange opened 2 years ago

mstange commented 2 years ago

Visual Studio 2017 added a /DEBUG:FASTLINK option::

The /DEBUG:FASTLINK option is available in Visual Studio 2017 and later. This option leaves private symbol information in the individual compilation products used to build the executable. It generates a limited PDB that indexes into the debug information in the object files and libraries used to build the executable instead of making a full copy. This option can link from two to four times as fast as full PDB generation, and is recommended when you are debugging locally and have the build products available. This limited PDB can't be used for debugging when the required build products are not available, such as when the executable is deployed on another computer. In a developer command prompt, you can use the mspdbcmf.exe tool to generate a full PDB from this limited PDB. In Visual Studio, use the Project or Build menu items for generating a full PDB file to create a full PDB for the project or solution.

PDB files created with this option contain S_REF_MINIPDB2 / S_FASTLINK symbols.

It would be great to add parsing support for this symbol type. #118 adds the constant but not the parsing.