我读了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;
}
答案 0 :(得分:6)
作者在文章中展示的反汇编类型称为inter-leaved disassembly
(C和反汇编交错),这些IDE是Visual Studio支持的。代码块不支持。但代码块有一个像这样的单独的反汇编窗口
选择一个源代码行。右键点击。说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源代码和汇编代码是交错的: