在写程序调试过程中,除了我们之前讲的任意行下断点以外,由于程序实际执行的复杂性,处于便捷和更加精准的需求,VC为我们还提供了条件断点,即满足某一条件时才触发断点。
举一个具体场景,比如当程序进行循环等大量运算时,如果单步调试显然会相当费事,而条件断点就可以很好解决这个问题。
来一个具体的程序例子:打印九九乘法表程序,代码如下:
比如我们想在打印8*9=72这个结果时候断点停止,如果单步运行显然要按70多下F10… 这个时候无疑条件断点将是很好的选择!具体如下:
首先在printf输入语句处F9下断点!(注意这个断点一定要在i和j在满足8和9的时候可以触发处,不然即使条件满足也将无法触发断点。)
然后点击Edit – 断点 或者按快捷键 Alt+F9,弹出断点设置框,如下图:
这个时候,在下方断点处已经有一条刚刚F9设置的断点,可以看到位于第十行,单击这条断点信息,在分隔符处会自动加载,并且条件按钮这个button也可以点击了,如下图:
继续点击条件button,在回车表达式的编辑框内输入条件:“i==9 && j==8”(这里还是C语言语法,不带双引号哈)
点击确定关闭对话框!注意观察断点的条件也已经进行了更新。
OK,这个时候按F5运行程序!注意观察!有提示如下:
单击确定,可以观察到控制台的输出和当前i与j的值均为条件里的要求。如下:
以上,条件断点完毕!
怎么样,大家学会了吗?
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程