我正在使用第三方框架,代码非常糟糕,我得到了一些我无法弄清楚的异常.我能够使用.NET Reflector进行反编译,现在我正在尝试使用Deblector进行调试,但我甚至无法弄清楚如何设置断点.为什么没有此工具的文档?
关于如何使用它没有任何可用的东西.内置的帮助只是提供了一个命令列表,我理解得很好,因为它们是标准的调试器命令......但我无法弄清楚如何让它工作,所以我可以单步执行代码,我需要也检查变量.
我一直在谷歌上搜索很长时间,所有我能找到的是博客,说这个工具有多精彩.好吧,我相信如果能让它发挥作用会很酷.文档在哪里,或者我如何设置断点?
我可以让它附加到我的进程,但我不能暂停或任何事情,并且当异常发生时它不会中断,即使我已经激活了该选项.
说真的......我们应该做一些文档 - 我会把它们发布到谷歌可以到达的地方.
也许这会对你有所帮助:
首先,我从http://www.codeplex.com/deblector使用DeblectorAddin-1.01-Alpha(我不知道它是否在旧版本中也能正常工作).
使用此版本,通过以下过程非常简单:
附加到流程
在命令行中使用a [ttach]命令:a
使用工具栏中的附加按钮(带有齿轮的窗口).
如果附加成功(您在控制台中看到此内容,使用Tools-> Deblector激活),则应加载所有引用的程序集.
设置断点(您必须暂停程序以设置断点):
使用b [reak]命令:例如b
更简单:使用Break按钮(或F9)并在Deblector IL视图中选择一行.
其他使用说明:
Deblector命令行:
如果您当前已连接到某个进程并且正在运行,则命令行将不会响应,您必须先停止它,否则它将无法正常响应.
对于64位平台:
必须将应用程序设置为以32位应用程序运行,否则无法连接到该应用程序.
在Visual Studio中:项目 - >属性 - >构建平台目标:x86
使用corflags工具:这应该与Visual Studio一起安装(使用Visual Studio命令提示符).
To set 32-bit mode: corflags/32BIT+ To unset it: corflags /32BIT-
要查找进程ID并检查程序是否以32位或64位模式运行:
Process Explorer对此非常有帮助.