I have a symbol cache directory set to D:\symbols
in Visual Studio options:
Within this directory Visual Studio creates a hierarchy with top-level directories matching PDB file names (e.g. ole32.pdb
), on the next level are one or more directories like D0C3BDDD4ADD4E87B2B5E803303B8D772
(looking like 33-digit hexadecimal numbers) and inside them are PDB files themselves, presumably, downloaded from Microsoft Symbol Servers.
I suppose that these hexadecimal numbers represent versions of PDB files. I wonder, whether these numbers have any structure or meaning, and how they can be extracted from PDB files (ideally, using C#)?
Given a PDB file in some other folder, is it possible to find a directory in the symbol cache where Visual Studio debugger would look for it?