我在 .NET 中构建了一个库项目 (DLL)。有时我会在其他项目中使用 DLL 及其 PDB 文件作为参考。
现在在新项目中,我无法浏览DLL的代码进行调试。我只能看到类/方法/变量的定义。那是通过浏览“类视图”来使用“显示定义”
但是,只有在出现异常的情况下,DLL 的内容才会打开,并且我可以从新项目中看到 DLL 的整个代码。
如何在异常发生之前查看 DLL 的内容(代码)?
如果您只需要浏览代码,请在 Reflector 中加载 dll——您甚至不需要 PDB 文件:http ://www.red-gate.com/products/reflector/
如果应用在 Visual Studio 调试器下运行时加载 DLL,它应该自动加载符号。如果您只有一个 DLL,您可能需要编写一个“驱动程序”应用程序,该应用程序除了加载和运行 DLL 入口点之外什么都不做。
如果您想以编程方式调试您的应用程序,请查看Mdbg (managed dbg)。您还可以查看pdb2xml源代码,它为您提供了ISymbolReader接口的好示例,以及如何使用它来读取 pdb 文件。
使用JustDecompile,它是免费的。