程序调试的方法

如题所述

第1个回答  2016-05-27

一,简单调试方法:步骤
1,在程序中插入打印语句、优点是能够显示程序的动态过程,比较容易检查源程序的有关信息。缺点是效率低,可能输入大量无关的数据,发现错误带有偶然性。
2,运行部分程序。有时为了测试某些被怀疑有错的程序段,却将整个程序反复执行许多次,在这种情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。
3,借助调试工具。目前大多数程序设计语言都有专门的调试工具,可以用这些工具来分析程序的动态行为。
二,回溯法排错。确定最先发现错误症状的地方,人工沿程序的控制流往回追踪源程序代码,直到找到错误或范围。
三,归纳法排错。是一种系统化的思考方法,是从个别推断全体的方法,这种方法从线索(错误征兆出发),通过分析这些线索之间的关系找出故障。主要有4步:
(1)收集有关数据。收集测试用例,弄清测试用例观察到哪些错误征兆,以及在什么情况下出现错误等信息。
(2)组织数据。整理分析数据,以便发现规律,即什么条件下出现错误,什么条件下不出现错误。
(3)导出假设。分析研究线索之间的关系,力求找出它们的规律,从而提出关于错误的一个或多个假设,如果无法做出假设,则应设计并执行更多的测试用例,以便获得更多的数据。
(4)证明假设。假设不等于事实,证明假设的合理性是极其重要的,不经证明就根据假设排除错误,往往只能消除错误的征兆或只能改正部分错误。证明假设的方法是用它解释所有原始的测试结果,如果能圆满地解释一切现象,则假设得到证明,否则要么是假设不成立或不完备,要么是有多个错误同时存在。
四,演绎法排错 。设想可能的原因,用已有的数据排除不正确的假设,精化并证明余下的假设。
五、对分查找法。如果知道每个变量子啊程序内若干个关键点上的正确值,则可用赋值语句或输入语句在程序中的关键点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则表示错误发生在前半部分,否则,不妨认为错误在后半部分。这样反复进行多次,逐渐逼近错误位置。

相似回答