这将非常有用,因为Microsoft并不总是在最新的补丁程序发布时同时发布PDB /源代码。因此,如果我想要进入DateTime,我真的不关心最新的补丁程序是否涉及DateTime。我只想浏览我从http://referencesource.microsoft.com/下载的代码。
经过一些调查,我发现了一个有用的工具dia2dump,可以查看PDB文件内容。(它在
C:\Program Files (x86)\Microsoft Visual Studio 10.0\DIA SDK\Samples\DIA2Dump\
中)看起来当我无法看到像DateTime这样的源代码时,使用.NET Framework stepping,实际上会下载一个
mscorlib.pdb
文件。
但是如果你用dia2dump打开它,它不包含源文件映射。换句话说,它是无用的,因为即使你像我最初的想法那样浏览源代码,也不会起作用,因为没有源文件映射和函数的起始地址,还有很多东西都缺失了 :(
我认为这里的解决方案是使用.NET Reflector Pro或者准备一个虚拟机,其中包含有源代码的框架版本,然后禁用更新。