第十二章 C语言调试

您所在的位置:网站首页 c语言调试怎么看数组 第十二章 C语言调试

第十二章 C语言调试

2024-07-12 14:42| 来源: 网络整理| 查看: 265

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

上图中,我们希望让程序在第4行代码处暂停执行,那么在第4行代码左侧的灰色部分单击鼠标即可插入断点。你也可以将光标定位到要暂停的代码行,然后按F9键插入断点。也可以在要暂停的位置单击鼠标右键,在弹出菜单中插入断点,如下图所示:

插入断点后,点击上方的“运行”按钮,或者按F5键,即可进入调试模式,如下图所示:

可以看到,程序虽然运行了,但并未输出任何数据,这是因为在输出数据之前就暂停了。同时,在IDE的上方出现了与调试相关的工具条,下方也多出了几个与调试相关的窗口:

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

如果你的VS缺少某个窗口,可以通过VS上方的“调试”菜单调出,如下图所示:

注意:必须在调试状态下才能看到图中的菜单。

如果你希望关闭某个窗口,可以在窗口标题处单击鼠标右键,在弹出菜单中隐藏,如下图所示:

断点的真正含义

严格来说,调试器遇到断点时会把程序暂时挂起,让程序进入一种特殊的状态——中断状态,这种状态下操作系统不会终止程序的执行,也不会清除与程序相关的元素,比如变量、函数等,它们在内存中的位置不会发生变化。 关键是,处于中断状态下的程序允许用户查看和修改它的运行状态,比如查看和修改变量的值、查看和修改内存中的数据、查看函数调用关系等,这就是调试的奥秘。

继续执行程序

点击“运行”按钮或者按F5键即可跳过断点,让程序恢复正常状态,继续执行后面的代码,直到程序结束或者遇到下一个断点。 在调试过程中,按照上面的方法可以设置多个断点,程序在执行过程中每次遇到断点都会暂停,如下图所示:

删除断点

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

代替暂停语句

在VS下,程序运行结束后不会自动暂停(一闪而退),要手动添加暂停语句system("pause");,如果大家觉得麻烦,也可以在代码最后插入断点,强制程序暂停。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3