1.vc6的相关使用
1)常用的快捷键
f7 ->编译
f5 ->运行
f9 ->断点
f10 ->单步执行
f11 ->单步执行,可进入函数
shift+f5 ->退出debug
2)两个常用的窗口
这两个窗口都需要在断点调试时才能打开;
1】寄存器窗口
![](https://i-blog.csdnimg.cn/blog_migrate/3110ae5778130aa9045eb09490dbae54.png)
可以用来查看寄存器的值;
efl为标志寄存器,如果想查看各个位需要自己转成二进制来看;
2】内存窗口
![](https://i-blog.csdnimg.cn/blog_migrate/3cc98e27c832ed8a13f5671684000bd5.png)
可以把反汇编的内存地址选中,拖到该窗口,来查看该内存地址中的值;
3)反汇编窗口
在断点调试时,右键空白处,在弹出的菜单中选“Go To Disassembly”
![](https://i-blog.csdnimg.cn/blog_migrate/017e150516af52ff2889ae86a48f9522.png)
2.分析不带参数和返回值的函数
代码:
#include "stdio.h"
int method();
int main(int argc, char* argv[])
{
method();
return 0;
}
int method(){
}
分析:
![](https://i-blog.csdnimg.cn/blog_migrate/40b73c9d597330b5c5b7b52b81212907.png)
3.分析待参数和返回值的函数
代码:
#include "stdio.h"
int method(int,int);
int main(int argc, char* argv[])
{
method(1,2);
return 0;
}
int method(int x, int y){
return x+y;
}
分析:
![](https://i-blog.csdnimg.cn/blog_migrate/967feeb1c28c56a91b724d25ced92ad3.png)
4.分析多重调用的函数
代码:
#include "stdio.h"
int method(int, int);
int plus(int, int, int);
int main(int argc, char* argv[])
{
plus(1,2,3);
return 0;
}
int method(int x, int y){
return x+y;
}
int plus(int x, int y, int z){
return method(x,y)+z;
}
分析:
![](https://i-blog.csdnimg.cn/blog_migrate/b1f6a891df6554fcac481b0008bd420d.png)