当 C 语言程序能够正常编译并运行,但可能结果可疑或不对时,即,当程序没有语法错误而可能有逻辑错误时,就需要考虑使用调试 Debug功能来找出程序的 bug。在调试过程中,可以让程序运行到设置好的断点处并暂停下来,然后通过观察相关的变量值是否正确,来判断程序的逻辑错误可能出现在哪里。本文以 Dev-C++ 5.11 开发环境为例来说明 C 语言的调试方法。
准备工作
菜单:工具/编译选项Tools/Compiler Options在“设定编译器配置” Compiler set to configure中选择“TDM-GCC 4.9.2 64-bit Debug”。提示:如果是 32 位的系统,请选择“TDM-GCC 4.9.2 32-bit Debug”。在下方的“编译器” General选项卡中,勾选“编译时加入以下命令:” Add the following commands when calling the compiler:,并在其中输入“-g”。如上图所示。确定退出后,可在软件界面右上角看到或选择用于调试的编译器。
可以使用相关按钮继续调试工作。下一步 Next line按钮运行下一行代码。如果下一行代码是对函数的调用,不进入函数体。快捷键:F7类似于 Turbo C++ 中的“Step Over”。跳过 Continue按钮直接运行到下一个断点处。单步进入 Into function按钮运行下一行代码,如果下一行是对函数的调用,则进入函数体内逐行运行。快捷键:F8类似于 Turbo C++ 中的“Trace”。跳过函数 Skip function按钮当在函数内部时点击此按钮,将直接运行到函数结束,并返回到函数调用处。停止执行 Stop Execution按钮停止调试,清除所有添加好的查看 watch。快捷键:F6说明:下一条语句 Next instruction按钮和进入语句 Into instruction按钮,常结合CPU窗口查看并执行指令。一般的调试工作中可以不用。“有钱的捧个钱场,好看的点下在看”