软件编程过程中调试是经常遇到的事,在调试的过程中也包含了很大的学问在里面,下面是自己实际应用和查找资料总结的一些,与大家进行分享;先介绍一些笨且常用的一些方法:
<1> 通过内存全部打印来调试,在这大量的数据中寻找出错的位置。
<2> 在程序特定位置设置打印语句,把打印语句插在出错的源程序的各个关键变量改变部位,重要分支部位,子程序调用部位,跟踪程序的执行,监视重要变量的变化
<3> 自动调用工具,利用某些程序语言的调试功能或专门的交互式调试工具,分析程序的动态过程,近而找出问题所在。
下面分享一个高深的方法——归纳法调试
归纳法是一种从特殊推断一般的系统化思考方法,归纳法调试的基本思想是:从一些线索(错误征兆)着手,通过分析它们之间的关系来找出错误;具体如下:
<1> 收集有关的数据,列出所有已知的测试用例和程序执行结果,看哪些输入数据的运行结果是正确的,哪些输入数据的运行经过是有错误的
<2> 组织数据,从特殊到一般的推断过程,所以需要组织整理数据,以发现规律。
<3> 归纳出问题所在对症下药。
调试原则
<1> 在调试方面,许多原则本质上是心理学方面的问题,调试由两部分组成,调试原则也分成两组。
<2> 确定错误的性质和位置的原则
<3> 用头脑去分析思考与错误征兆有关的信息
<4> 避开死胡同
<5> 只把调试工具当做辅助手段来使用,利用调试工具,可以帮助思考,但不能代替思考
<6> 避免用试探法,最多只能把它当做最后手段
修改错误的原则
<1> 在出现错误的地方,很有可能还有别的错误
<2> 修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。
<3> 当心修正一个错误的同时有可能会引入新的错误
<4> 修改错误的过程将迫使人们暂时回到程序设计阶段
<5> 修改源代码程序,不要改变目标代码
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!