由于引起运行时错误的原因难以发现,所以我们有时候要利用工具来完成调试工作。Debug就是Visualc++提供的一种常用调试工具,它能让语句一句一句或一段一段执行,并且能够观察程序运行过程中各变量的变化情况。
在介绍如何使用debug工具之前,我们要介绍一下什么是断点(breakpoint)。当程序运行到断点的时候,它会暂时停止运行后面的语句,供用户观察程序运行的情况,并等待用户发出指令。断点不是语句,而是附在某条语句上的一个标志。
- 设置和移除断点
单击设置需要断点的语句,使光标移动到该语句所在行,按下F9后就会发现在该语句之前出现一个红点,这就是断点标志,如果要移除它,用同样的方式也是按F9,红点就消失不见了。我们可以给一个程序设置多个断点。
![1a042354a2bf9bb873df0f97969449e6.png](https://img-blog.csdnimg.cn/img_convert/1a042354a2bf9bb873df0f97969449e6.png)
- GO语句
设置断点后,就能开始调试程序了,与以前不同,不能直接按执行按钮,而是要按F5,或者使用菜单来操作。一旦选择了go项,程序会正常运行直至遇到断点。
![bbff5d637733e8604ea0d13b1d4aa644.png](https://img-blog.csdnimg.cn/img_convert/bbff5d637733e8604ea0d13b1d4aa644.png)
debug窗口功能翻译(和我的菜单上的是一样有)
restart 重新开始调试
stop debugging 停止当前调试
break execution 停止程序的执行并转回调试
apply code changes 使调试过程中修改的程序代码生效
shownext statement 显示将要执行下一条语句的位置,在语句之前用黄色箭头表示
step into 进入语句调用的函数,并进行调试
step over 不调试语句调用的函数
step out 从当前调试的位置回到调用该函数的位置
run to cursor 正常运行直到光标所在行。
在调试的时候,不能总按“step into”,因为它对于系统提供的函数也是有效的。也就是说我们能够详细的看到系统是如何实现一个输出功能的,甚至可以看到这些语句的汇编语言形式。但是,这并不是我们调试的主要目标。如果不小心进入了系统函数里,要及时按“step out”以退回到我们所编写的程序中来。
- 用debug找到错误
在debug中,我们可以让语句一句句地执行,如果执行到某一句语句时发生了运行时错误,那么这个错误一般是由这个语句引起的。
在debug中。可以观察每一句语句执行的顺序和执行后变量变化的情况。如果发现程序无法实现即定的功能,我们可以将期望的结果和实际的结果作比对,并分析可能引起这些不同的原因,这样一来,大大加快了找到问题和解决问题的速度。
本篇完,欢迎大家收藏与转发!