如何在MSIL级别调试.NET可执行文件?

时间:2010-04-12 18:36:05

标签: .net debugging cil

我有一个需要调试的.NET可执行文件。我想进入它,以便它在第一条指令上停止并具有单步,断点等的可视化界面。

这似乎应该更容易,但我还没有找到解决方案!我在网上看到了DbgCLR.exe,但在我的生活中,我无法在我的系统或在线上找到该文件。我还读到了DbgCLR.exe不再需要的地方,因为Visual Studio可以做同样的事情。 Visual Studio .NET解决方案也很棒! (也许有一个我忽略的菜单项?)

要么适合,只要我可以检查堆栈,设置断点等等。

4 个答案:

答案 0 :(得分:1)

如果你是一个购买实用程序的人 - 红门的新.NET Reflector Pro确实能够很好地实现这一目标(195美元)。我想你可以在Red Gate's site

上获得一段持续一段时间的评估版

我过去曾使用DILE在IL中这样做,出于某种原因,我与Deblector有过不同的经历。

可能不值得花时间,但你也可以为exe创建pdb符号,但如果程序集有很多引用,它会变得复杂。几年前我在一起写了一篇关于如何做的博客文章:Disassembling .NET - Appendix A

答案 1 :(得分:1)

可以使用WinDbg,因为它会在进程启动时自动停止。但是,除非您使用SOS.dll和托管调试技能,否则它只显示本机内容。所以它有一个很好的学习曲线。

答案 2 :(得分:0)

Deblector允许您通过反射器单步执行IL。

答案 3 :(得分:0)

您可以将可执行文件转换为csharp(vb.net) 有很好的免费工具,.Ned Reflector。