title: "Browse To Find Source" in Visual Studio 2010
body: <p>When is "Browse To Find source" enabled in Visual Studio 2010? (see below)</p>
  
  <p><img src="https://i.stack.imgur.com/LIbOP.png" alt="Enter image description here"></p>
  
  <p>In addition, I want to have it enabled so that I could browse to already-downloaded source code 
  files from <a href="http://referencesource.microsoft.com/" rel="noreferrer">http://referencesource.microsoft.com/</a>.</p>
  
  <p>This would be useful since Microsoft doesn't always release <a href="http://en.wikipedia.org/wiki/Program_database" rel="noreferrer">PDB</a>/source code at the same time with their latest patches. So if I want to step for example into DateTime, I really don't care about the latest patches which didn't involve DateTime. I just want to browse to its code which I downloaded from <a href="http://referencesource.microsoft.com/" rel="noreferrer">http://referencesource.microsoft.com/</a>.</p>
  
  <p>After some investigations I found <em>dia2dump</em> which is a useful tool to view PDB file contents. (It's in <code>C:\Program Files (x86)\Microsoft Visual Studio 10.0\DIA SDK\Samples\DIA2Dump\</code>) </p>
  
  <p>It looks like when I can't see source code for something like DateTime, using .NET Framework stepping, a <code>mscorlib.pdb</code> file actually gets downloaded.  </p>
  
  <p>But if you look inside it with <em>dia2dump</em> it doesn't contain source file mappings. In other words useless, because even if you could browse to the source code like my initial idea, it wouldn't work because there are no source file mappings and no start addresses of the functions, and a lot of stuff missing :( </p>
  
  <p>I think the solutions here are to use <a href="http://en.wikipedia.org/wiki/.NET_Reflector" rel="noreferrer">.NET Reflector</a> Pro for or keep a virtual machine at hand, with releases of the framework which have source code and then disable updates.</p>