VS断点调试技巧

条件断点:

条件断点就是当满足某种条件时才会触发的断点。
例如在循环体中,我们想查看第一万次循环的结果,显然不能一步一步运行程序,而应当在断点处设置条件。
使用流程:
1、首先需要打一个断点
在这里插入图片描述
2、在断点处点击设置按钮
在这里插入图片描述
跳出如下提示框
在这里插入图片描述
3、然后勾选条件,并填入断点的条件
在这里插入图片描述
4、开始调试,会看到断点被触发了(注意颜色和一般的断点不一样)
在这里插入图片描述
5、查看相关信息
在这里插入图片描述

断点操作:

在断点设置中,不仅有条件,还有操作,借助操作,我们可以打印一些信息,利用VS的这个功能,可以不用在代码中显示的写打印代码了~(当然这是有利有弊的,打印信息直接写在代码中,可以更快复现,结合宏来使用也非常方便,而这种断点操作,复现麻烦,适合用于排错)。
例如我们需要在循环体中查看值的变化,但不想写修改代码,这个时候就可以借助断点操作了。
操作流程
1、首先需要打一个断点
在这里插入图片描述
2、在断点处点击设置按钮
在这里插入图片描述
跳出如下提示框
在这里插入图片描述
3、勾选操作,并填入需要打印的信息
注意 {} 表示中间的是一个变量
在这里插入图片描述
输出结果会在输出窗口中打印

4、开始调试,会看到断点被触发了(注意颜色和一般的不一样)
在这里插入图片描述
如下是输出窗口的输出:
在这里插入图片描述
5、且断点操作可以和条件断点结合使用
在这里插入图片描述
输出如下:
在这里插入图片描述
6、VS提供的特殊变量,可以在断点操作中打印其信息
利用这些特殊变量可以很容易的获取当前程序运行的一些信息,注意其前缀都为$
在这里插入图片描述
其具体含义如下:

$ADDRESS    当前指令的地址
$CALLED     调用当前函数的函数名称
$CALLSTACK  当前调用堆栈
$FILEPOS    当前文件和行位置
$FUNCTION   当前函数的名称
$PID        当前进程的ID
$PNAME      当前进程的名称
$TICK       自系统运行以来的毫秒数,最大为49.7天
$TID        当前线程的ID
$TNAME     当前线程的名称

例子:输出当前断点所在的文件、行位置及当前函数的名称
在这里插入图片描述
输出:
在这里插入图片描述