我需要调试一些程序集,因为它们会抛出异常。这是我的程序集,但我没有它们的源代码。我拥有的是他们的 pdb 文件。
有什么方法可以通过 Visual Studio 调试该程序集吗?
--编辑--
当然,我也可以反汇编它们以获得它们的 *.il 文件。它会对我有帮助吗?
实际上有几种方法可以实现这一点:
这正是我花钱购买Reflector的原因。 需要调试别人的程序集吗?它工作得完美。
据我所知,PDB 文件只是用于调试的指针。也就是说,如果您没有源代码,那么 PDB 文件只会为您提供堆栈跟踪。
我不知道 Visual Studio 是否可以处理它,您可能需要手动连接到该进程。
不完全是在 Visual Studio 中,但我过去在反射器内部编写了这样一个工具,称为 d Deblector。不再由我维护,但你可以看看。当然,调试体验与您在 Visual Studio 中获得的调试体验不同,但有时足以让您摆脱麻烦。
查看 dotPeek: https://www.jetbrains.com/decompiler/
您可以将其设置为 Visual Studio 内的符号服务器,以生成允许您调试的 PDB 文件。 它非常易于使用,并且与许多付费产品一样好。
您可以直接从 nuget 添加库,或指向 DLL。