-
Notifications
You must be signed in to change notification settings - Fork 35
Description
Even though there already is a hook in place that can extract the PDB files which are in MSF format from the build tree, the MSF format itself is typically a huge waste of space when it resides in an uncompressed conan package.
Recently, Microsoft had added a newer version of this format, MSFZ which has added block compression with ZSTD by default. As far as debuggers and symbol servers go, this format is universally preferred over the uncompressed MSF format.
As gz with its effectively low compression ratio ist still going to be a default for the forseeable future, having ZSTD compressed debug information on the inside can also be expected to provide huge savings for compressed conan packages too.
There exists an open source tool for converting MSF to MSFZ files: https://github.com/ynwarcs/pdbconv
The conversion is reversible if compatibility with older tools is required that may not understand MSF yet. The conversion should not be applied within the build tree, as it's incompatible with any potential incremental patches to the PDB file, but can safely be applied as soon as the symbol files have been copied out into the package folder.
Note:
There is no equivalent for PDB7 symbol files (compiler output, not linker output!). Those have to be packaged as-is for now.