文章目录
一、常规断点调试
- F9:光标到某一行,按F9可以给该行设置断点,或者取消断点;
- F5:执行程序到第一个断点停下;
- F10:逐过程,一行行执行,但是函数那些算一块执行;
- F11:逐语句,可进入函数一行行执行;
- Shift + F11:可跳出当前的函数
二、调试时查看内存
一个很简单的指针常量栗子:
用F9在第七行设置断点后,按F5运行,执行到断点处(该行还没执行),按Alt + 6
或者选择:调试,窗口,内存,内存1 的命令就能查看内存:
在左上角的“地址”右边的编辑框中输入& + 想查看的变量
就能查看该变量的地址存放的值,即该变量的值,这里我们输入&m
后得到:
- 上面显示的
0x00AFFD5C
即这个m
数组的首地址,分成3部分:
- 左侧部分是
m
的地址和附近的内存地址; - 中间部分是该内存中存放的数(PS:但是是以十六进制进行保存,即VS将这些二进制数据以16进制保存,4位二进制表示一位16进制数);
- 右侧部分是内存中16进制数所代表的一些字符,有些可显示字符会显示出来,对于不可显示的字符就用
.
来代替。
比如如下程序safasdfa\0def
的内存,a对应的16进制数为61(十六进制的61即十进制的97,即a字符对应的ASCII码),s对应的是73:
三、快速监视窗口
shift + F9:当程序运行到断点处,按这个键能出现快速监视窗口,如下所示,查看m
对应的值和类型:
如果查看a
的值:
查看a
的地址,输入&a
: