title: What do directory names like D0C3BDDD4ADD4E87B2B5E803303B8D772 in Visual Studio symbol cache mean?
body: <p>I have a symbol cache directory set to <code>D:\symbols</code> in Visual Studio options:</p>
  
  <p><img src="https://i.stack.imgur.com/MSJ7l.png" alt="Options"></p>
  
  <p>Within this directory Visual Studio creates a hierarchy with top-level directories matching PDB file names (e.g. <code>ole32.pdb</code>), on the next level are one or more directories like <code>D0C3BDDD4ADD4E87B2B5E803303B8D772</code> (looking like 33-digit hexadecimal numbers) and inside them are PDB files themselves, presumably, downloaded from Microsoft Symbol Servers.</p>
  
  <p>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#)? </p>
  
  <p>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?</p>