在没有源代码的VS中进行调试

时间:2012-11-21 16:03:57

标签: c# .net visual-studio-2010 debugging

我需要调试一些程序集,因为它们会抛出异常。这是我的程序集,但我没有它们的源代码。我所拥有的是他们的pdb文件。

有没有办法通过Visual Studio调试程序集?

- 编辑 -

当然,我也可以反汇编它们来获取它们的* .il文件。它会以某种方式帮助我吗?

5 个答案:

答案 0 :(得分:4)

这正是我为Reflector付款的原因。需要调试其他人的程序集吗?它完美地

答案 1 :(得分:3)

据我所知,PDB文件只是调试的指针。也就是说,如果您没有源代码,那么PDB文件只会为您提供堆栈跟踪。

我不知道Visual Studio是否可以处理它,您可能需要手动连接到该进程。

答案 2 :(得分:1)

不完全在视觉工作室,但我过去在反射器中写过这样一个工具,calle d Deblector。不再是我的照顾,但看看。当然,调试体验与Visual Studio中的调试体验不同,但有时候可以帮助您摆脱困境。

答案 3 :(得分:1)

实际上有几种方法可以实现这一目标:

  1. 使用dnSpy - 免费的开源.net调试器和程序集编辑器https://github.com/0xd4d/dnSpy
  2. 使用dotPeek设置符号服务器(也是免费的)https://www.jetbrains.com/help/decompiler/Using_product_as_a_Symbol_Server.html
  3. 使用Resharper反编译器为Visual Studio中的外部模块加载符号。我认为这是最简单的方法。我在我的博客https://cezarypiatek.github.io/post/debug-without-sources-part-one/
  4. 上描述了整个过程

答案 4 :(得分:0)

查看dotPeek: https://www.jetbrains.com/decompiler/

您可以将其设置为visual studio中的符号服务器,以生成允许您进行调试的PDB文件。它非常易于使用,与许多付费产品一样好。

您可以直接从nuget添加库,或指向DLL。

相关问题