0

如何查看 .net JITer 生成的机器代码的反汇编?显示反汇编窗口菜单选项在哪里找不到。甚至它的工具栏按钮也处于禁用状态。如果我没记错的话,确实可以看到拆卸,但必须使用一些技巧,不幸的是我不记得那个技巧是什么了。有人可以在这里提供一些指示吗?

调试环境:VS2008(我猜你可以在WinDbg和一些调试器扩展(SOS.dll?)中看到反汇编没有太大的痛苦,现在我认为VS2008也可能使用相同的dll让我检查并回复你。如果我错了,请随时纠正我。)

4

3 回答 3

0

在 VS2008 Team System Developer Edition 的 C# 项目中,反汇编窗口对我来说工作正常。

实际上 - 有一件事没有像我希望的那样工作 - 我无法进入框架代码。也许某个地方的某些设置可能会让我这样做,我不知道。但是我可以为我自己的代码逐步完成反汇编。

您使用的是 VS2008 Express 吗?也许这有一些限制。

总是有cordbg(哎呀!)。

当然,JITer 在调试器下运行时会生成未优化的代码。您可以跳过一些障碍来避免这种情况 - 例如在 JIT 完成您想要查看的任何工作之后附加到流程。

于 2009-04-17T08:25:39.013 回答
0

嗨,不幸的是,show debug window 命令仍然无法正常工作,但您可以使用名为 SOS.dll 的调试器扩展 dll 来调试/反汇编 .net 代码,这里有一些链接(注意这适用于 VS2008 和 WinDbg)...

1) MSDN: SOS Debugging Extension (SOS.dll)
2)在 Windbg 中使用 SOS 的一些一般技巧

于 2009-04-17T08:40:09.400 回答
0

似乎对我来说工作正常。您是否启用了地址级别调试?工具 | 选项 | 调试 | 一般 | 启用地址级调试?

要获得反汇编窗口,请转到调试 | 窗户 | 反汇编(我正在使用 c# 开发人员配置文件)

或者,在命令行窗口中,键入 Debug.Dissassembly

于 2009-04-20T22:47:10.133 回答