默认情况下,程序不会进入调试模式,代码会瞬间从开头执行到末尾。要想观察程序的内部细节,就得让程序在某个地方停下来,我们可以在这个地方设置断点。
所谓断点(BreakPoint),可以理解为障碍物,人遇到障碍物不能行走,程序遇到断点就暂停执行。



- 可以看到当前函数的调用关系。
- 窗口可以看到当前设置的所有断点。
- 可以让我们临时运行一段代码,后续我们会重点讲解。
- 窗口和我们之前看到的没有,用来显示程序的运行过程,给出错误信息和警告信息。
- 会显示当前代码行和上一代码行中所使用到的变量。
- 窗口会显示当前函数中的所有局部变量。
- 和窗口暂时无需理会。

注意:必须在调试状态下才能看到图中的菜单。
如果你希望关闭某个窗口,可以在窗口标题处单击鼠标右键,在弹出菜单中隐藏,如下图所示:

严格来说,调试器遇到断点时会把程序暂时挂起,让程序进入一种特殊的状态——中断状态,这种状态下操作系统不会终止程序的执行,也不会清除与程序相关的元素,比如变量、函数等,它们在内存中的位置不会发生变化。
关键是,处于中断状态下的程序允许用户查看和修改它的运行状态,比如查看和修改变量的值、查看和修改内存中的数据、查看函数调用关系等,这就是调试的奥秘。
点击“运行”按钮或者按键即可跳过断点,让程序恢复正常状态,继续执行后面的代码,直到程序结束或者遇到下一个断点。
在调试过程中,按照上面的方法可以设置多个断点,程序在执行过程中每次遇到断点都会暂停,如下图所示:

如果不希望程序暂停,可以删除断点。删除断点也很简单,在原有断点处再次单击鼠标即可,也可以将光标定位到要删除断点的代码行,再次按键,或者在右键菜单中删除,如下图所示

在VS下,程序运行结束后不会自动暂停(一闪而退),要手动添加暂停语句,如果大家觉得麻烦,也可以在代码最后插入断点,强制程序暂停。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2449.html