3.CALL与单步调试

来源:互联网 发布:adobe system四大软件 编辑:程序博客网 时间:2024/05/16 12:15
l  函数与CALL
l  关闭C/C++优化
l  单步步过
l  单步步入
 
一、函数与CALL
int add(int a,int b)
{
 return a+b;
}
00401030  |.  8105 18304000>ADD DWORD PTR DS:[403018],88             ;  add加法指令
未被优化
00401040  |.  68 88000000   PUSH 88
00401045  |.  A1 18304000   MOV EAX,DWORD PTR DS:[403018]
0040104A  |.  50            PUSH EAX
0040104B  |.  E8 B0FFFFFF   CALL 001_MOV.00401000                    ;  add函数
00401050  |.  83C4 08       ADD ESP,8
00401053  |.  A3 18304000   MOV DWORD PTR DS:[403018],EAX
 
 
 
二、关闭C/C++优化
   项目配置属性---> C/C++ --->优化--->禁用/Od
三、单步步入:(CALL)
F9(运行): 如果断下后,要继续让程序运行起来,可以用快捷键
F7(单步步入):按下后执行下一条指令。如果有CALL则进入。
 
四、单步步过:(不进CALL)
F8(单步步过):按下后执行下一条指令。不会进入子函数CALL里边,子函数CALL也被当成一条指令。
   这两个单步执行操作的主要区别在于:如果当前的命令是一个子函数CALL,按F7,将会进入子函数,并停在子函数的第一条命令上;而按 F8,将会一次运行完这个子函数。如果您单步步过的子函数中含有断点或其他调试事件,执行将会被暂停
1 0
原创粉丝点击