程序的调试 河北 袁津生 1992-05-08 一、错误的种类 (1)问题定义错。在设计中由于对问题理解不清或理解错误;或者原来的理解是正确的.但因多次修改发生了错误。 (2)功能错。问题定义错将导致功能错.但问题定义没错而功能发生编差也是常有的。 (3)界面信息错。模块之间有信息的传递、数据的交换.如果界面设计不当会引起异常。例如.形参与实参个数、类型、次序不匹配;内存变量的属性设计不当等等。 (4)编码错。即语法规范错、函数定义哉值使用错等。尤其应当研究一般书籍中没有介绍的命令和函数的特点。 从另一个角度也可以反程序的错误分为静态错和动态错。静态错比较直观.容易发现.如语法错、变量错等等。动态错是程序运行过程中发生的错误.这类错误是较难预料的。较好的方法是上机试运行.并检查程序运行的中间结果.设法发现错误。 二、调试的方法 对于一个程序的调试方法一般可以分为如下几点: (1)、断点输出 在程序中插入临时输出语句.观察某些中间结果.以便判断错误。 (2)分析执行命令的显示(打印)信息。 (3)单步工作方式 用命令设定计算机为单步工作方式.执行一条命令停下.按任一键再继续。 (4)程序跟踪 一般说来.设置跟踪有两个作用:一是查找出错点;二是查程序的走向和执行过程。这对于分析程序的逻辑错误是很有效的。 (5)记录调试过程。 (6)查看现场(中断点) 三、错误的分析 当含有错误的程序上机运行时可能出现两种情况:一是显示出错信息.程序不能执行到底;二是程序能执行到底.但结果是错误的。 (1)错误信息分析 运行程序时.系统对程序中的语句做语法检查。若发现错误.则在屏幕上显示出错信息.分析这些信息就会尽快找到错误。 (2)程序逻辑错误的分析 错误信息的分析能找到程序的静态错误.若程序中有逻辑错误或程序运行错误.若程序中有逻辑错误或程序运行错误.程序可能运行到底.但结果是不对的.对于这种情况只能靠分析程序的输出查找错误。 程序的运行错误是指程序执行的先后次序有错或程序的执行次数错。 所以.查找程序逻辑错误的有效办法是由出错数据所在记录、字段来分析程序结果。