用Turbo C集成开发环境进行程序调试的基本方法

Author: 明炜 Date: 1995-04-28

        定位编辑错误(即程序中不合符C语言语法的成分)是Turbo C的拿手好戏,它能迅速找到出错的语句并给出相应出错信息,这些错误一般较为明显,易于改正。
        键按错误较少发生,它往往是由于全局变量式函数的定义和引用不当而引起。Turbo C虽然不能指出是哪一句有误,但它能够给出错误信息,说明是谁的定义有问题。
        通过了编译和链接后,程序中依然存在的错误被称为运行错误,比如说:有一句本应为a=0;但在机器中成了a=1;这有可能是因为输入错误引起的,但更大的可能则是因为编程时考虑不周,程序有误引起的,这时的程序完全合符C语言语法,只能由编程者自己通过调试来确定问题。Turbo C提供了许多工具来帮助你完成这一工作。
        在Turbo C集成环境中的Rum菜单下有go to cwrsor.Trace into和step over(它们的热键分别是F4,F7及F8)使你能够清楚地看到程序的流程。F4表示执行到当前光标所在位置F7和F8都是单步执行,一次只执行某一行的语句。所不同的是,每遇到某一语句中含有对用户自定义函数的调用时,按F7会进入这个函数并准备单步执行它,而按F8时一次执行完这一语句,函数调用立即执行完。这三条命令可以混合使用。这将你可以知道程序在什么地方的执行与你预想的不符。
        在程序调试运行时,你可能会希望随时能看到某个变量或表达式的值,这可以通过打开Watch窗口来实现。先把光标移到你要考察的变量名上,然后选Break/watch菜单中的Add watch变量名就会出现在Add watch弹出菜单中,按回车就把此变量加入了Watch窗口。你也可以选择Edit Watch命令,然后直接输入变量名式表达式。这时在屏幕的子将出现Watch窗口,列出你要查看的变量式表达式的当前值。这时您可以用F4,F7及F8来运行程序,随着程序的执行,你可以看到变量的值在不断变化,从而充分地了解每一条语句的执行情况,用户可以使用F6在Edit和Watch窗口之间移动。用Delete Watch命令可以删去当前被考察的变量(即左边有一个子圆点的变量),如果选用Remove all wtachs,可删去Watch窗口中所有考察项。
        用户还可以用Toggle breakpoint(Ctrl+F8)命令在当前将所在行设置断点。当程序执行到一个断点时它会自动停下来使用户有机会查看各种变量的当前状态。Debng菜单子的Evaluate命令还给用户提供了在运行过程中修改内存变量值的机会,如果您不想全部重新编译运行程序,使用这一功能可缩短,调试时间。
        虽然Turbo C为运行调试提供了许多方便,但要找到并改正错误最终还是需要调试者的参与,这要求你编程思想明确,对程序执行过程有充分的了解。学好基础知识是拷好调试的前提。