第一、建立一个简单的项目,就比如下图中的测试项目,然后设置一个断点。
#include <iostream>
int main()
{
int a = 1;
int b = 2;
a = a + b;
std::cout << a;
}

第二、开始调试,然后如下图中所示,从调试->窗口->反汇编。

第三、下图是开启了反汇编功能后得到的窗口。大致可以分为三排信息,从左到右分别为内存地址(虚拟内存的地址)、机器指令(机器级的代码,可以直接被计算机所执行的指令)和汇编语言。汇编语言也不能直接被计算机所执行,必须汇编为机器指令。由于本人选择在x86架构下去调试,所以生成的机器级代码就是x86的指令,而x86属于cisc机器,cisc机器的一大特点就是指令长度不等。

本文指导如何在C++项目中设置断点,通过反汇编理解内存地址、机器指令和汇编语言,详解x86架构下的调试技巧。
1956

被折叠的 条评论
为什么被折叠?



