如何使用Deblector?

Jas*_*ine 12 .net debugging reflector

我正在使用第三方框架,代码非常糟糕,我得到了一些我无法弄清楚的异常.我能够使用.NET Reflector进行反编译,现在我正在尝试使用Deblector进行调试,但我甚至无法弄清楚如何设置断点.为什么没有此工具的文档?

关于如何使用它没有任何可用的东西.内置的帮助只是提供了一个命令列表,我理解得很好,因为它们是标准的调试器命令......但我无法弄清楚如何让它工作,所以我可以单步执行代码,我需要也检查变量.

我一直在谷歌上搜索很长时间,所有我能找到的是博客,说这个工具有多精彩.好吧,我相信如果能让它发挥作用会很酷.文档在哪里,或者我如何设置断点?

我可以让它附加到我的进程,但我不能暂停或任何事情,并且当异常发生时它不会中断,即使我已经激活了该选项.

说真的......我们应该做一些文档 - 我会把它们发布到谷歌可以到达的地方.

Fio*_*onn 8

也许这会对你有所帮助:

首先,我从http://www.codeplex.com/deblector使用DeblectorAddin-1.01-Alpha(我不知道它是否在旧版本中也能正常工作).

使用此版本,通过以下过程非常简单:

  • 附加到流程

    • 在命令行中使用a [ttach]命令:a <pid>.
    • 使用工具栏中的附加按钮(带有齿轮的窗口).
  • 如果附加成功(您在控制台中看到此内容,使用Tools-> Deblector激活),则应加载所有引用的程序集.

  • 设置断点(您必须暂停程序以设置断点):

    • 使用b [reak]命令:例如b <Namespace.Class.Function> - 有更多选项可供使用帮助b.
    • 更简单:使用Break按钮(或F9)并在Deblector IL视图中选择一行.

其他使用说明:

Deblector命令行:
如果您当前已连接到某个进程并且正在运行,则命令行将不会响应,您必须先停止它,否则它将无法正常响应.

对于64位平台:
必须将应用程序设置为以32位应用程序运行,否则无法连接到该应用程序.

在Visual Studio中:项目 - >属性 - >构建平台目标:x86

使用corflags工具:这应该与Visual Studio一起安装(使用Visual Studio命令提示符).

 To set 32-bit mode: corflags <ProgramName> /32BIT+ 
 To unset it:        corflags <ProgramName> /32BIT-
Run Code Online (Sandbox Code Playgroud)

要查找进程ID并检查程序是否以32位或64位模式运行:
Process Explorer对此非常有帮助.