如何在Code :: Blocks中查看反汇编?

时间:2012-03-08 14:28:55

标签: c++ c assembly codeblocks low-level

我读了this article关于C / C ++的一些低级基础,作者基本上是通过编译器生成的汇编代码逐行向我们展示的。他正在使用VS 2010,但我没有,我使用Code :: Blocks。如何在那里查看拆卸?当我进入调试器,然后单击反汇编时,它会显示一个空白窗口......

这是我编译的C ++(。cpp)代码(整个代码):

int main()
{
    int x = 1;
    int y = 2;
    int z = 0;

    z = x + y;

    return 0;
}

2 个答案:

答案 0 :(得分:6)

作者在文章中展示的反汇编类型称为inter-leaved disassembly(C和反汇编交错),这些IDE是Visual Studio支持的。代码块不支持。但代码块有一个像这样的单独的反汇编窗口

Diassembly Window

选择一个源代码行。右键点击。说Run to Cursor。现在Debug->Debugging Windows->Disassembly。您可以设置断点,然后执行此操作,而不是运行到光标。但不知何故,我的情况并不顺利,所以我建议使用Run to Cursor方法。

希望它有所帮助。

答案 1 :(得分:3)

这是旧帖子的新答案。另一个答案完全是关于主题的,但是发表了一个过时的声明:“代码块 不支持 _”,... 交错分解(C和分解交错)

这不再成立。较新版本的Code :: Blocks已更新该功能。

使用Code :: Block 17.12版本以及gcc(tdm-1)5.1.0版本和OP代码

并按照说明进行操作:

  • Code::Blocks编辑器中,右键单击源文件中感兴趣的行,然后从出现的上下文菜单中选择Run to cursor。在此示例中,右键单击了主要功能的右括号}

  • 然后,从标题栏菜单中选择Debug->Debugging Windows->Disassembly。这样会弹出一个弹出窗口,显示程序集与源代码交错在一起:

  • 这将导致以下图像清楚地显示出C源代码和汇编代码是交错的:

enter image description here