我经常需要在测试机器上调试.NET二进制文件(通过测试机器,我的意思是机器上没有安装Visual Studio,它经常重新映像,它与我开发的机器不同,等等).
我喜欢Visual Studio调试器,但是对于我来说,在新映像的测试机器上安装可视化工作室只是为了调试断言或崩溃(安装时间太长,占用空间太大等)并不实用.
我真的很喜欢一个快速安装的程序,它可以进入一个正在运行的进程,让我指定符号/源代码的位置,让我直接进入调试.对于原生二进制文件,windbg工作得很好,但是我没有找到任何类似于托管二进制文件的东西.有什么建议?
(作为旁注,我知道视觉工作室远程调试功能,但由于某种原因,它似乎永远不会对我一致...我经常有连接问题)
对于比MDbg或cordbg更好的界面,请看一下DbgCLR - 一个只处理托管代码的Visual Studio调试器(至少看起来像一个)的简化版本.它附带了.NET Framework(我不确定它是否在运行时或者您是否需要Framework SDK):
http://msdn.microsoft.com/en-us/library/7zxbks7z(VS.85).aspx
请注意,不推荐使用cordbg以支持MDbg(即使MDbg没有所有cordbg的功能):
http://blogs.msdn.com/jmstall/archive/2005/11/07/views_on_cordbg_and_mdbg.aspx
在回顾编写这篇文章的MDbg时,我发现有一个可用于MDbg的GUI包装器(我还没试过):
http://blogs.msdn.com/jmstall/archive/2005/02/04/367506.aspx
我终于找到了Windbg的扩展,它正是我想要的:Sosex.dll,让我使用windbg调试托管应用程序,只需要很少的安装.我已经使用了一年多了,而且我遇到过的每一个调试场景都没有错误.