软件调试技巧
别知己歌曲原唱软件调试技巧
一、软件调试方法
软件调试有很多种方法。常用的有4种,即强行排错法、回溯排错法、归纳排错法和演绎排错法。
1.强行排错法
这种方法需要动脑筋动的地方比较少,因此叫强行排错。通常有以下3种表现形式:
打印内存变量的值。在执行程序时,通过打印内存变量的数值,将该数值同预期的数值进行比较,判断程序是否执行出错。对于小程序,这种方法很有效。但程序较大时,由于数据量大,逻辑关系复杂,效果较差。
梦幻西游6月新区在程序关键分支处设置断点,如弹出提示框。这种方法对于弄清多分支程序的流向很有帮助,可以很快锁定程序出错发生的大概位置范围。
使用编程软件的调试工具。通常编程软件的IDE集成开发环境都有调试功能,使用最多的就
是单步调试功能。它可以一步一步地跟踪程序的执行流程,以便发现错误所在。
2.回溯排错法
这是在小程序中常用的一种有效的调试方法。一旦发现了错误,可以先分析错误现象,确定最先发现该错误的位置。然后,人工沿程序的控制流程,追踪源程序代码,直到到错误根源或确定错误产生的范围。
3.归纳排错法
归纳法是一种从特殊推断一般的系统化思考方法。归纳法调试的基本思想是,从一些线索(错误的现象)着手,通过分析它们之间的关系来出错误,为此可能需要列出一系列相关的输入,然后看哪些输入数据的运行结果是正确的,哪些输入数据的运行结果有错误,然后加以分析、归纳,最终得出错误原因。
4.演绎排错法张子健电视剧大全
演绎法是一种从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法。
调试时,首先根据错误现象,设想及枚举出所有可能出错的原因作为假设。然后再使用相关数据进行测试,从中逐个排除不可能正确的假设。最后,再用测试数据验证余下的假设是否是出错的原因。
二、调试的原则
调试能否成功一方面在于方法,另一方面很大程度上取决于个人的经验。但在调试时,通常应该遵循以下一些原则。
1.确定错误的性质和位置的原则
用头脑去分析思考与错误征兆有关的信息,避开死胡同。调试工具只是一种辅助手段。利用调试工具可以帮助思考,但不能代替思考。通常避免使用试探法,最多只能将它当作最后的手段,毕竟小概率事件有时也会发生。
2.修改错误的原则
在出现错误的地方,很可能还有别的错误。修改错误的一个常见失误是只修改了这个错误
的征兆或这个错误的表现,而没有修改错误本身。当新修正一个错误的同时又引入新的错误。
三、有效减少调试时间
1.绘制程序流程图重庆二手房买卖合同
一些程序员认为,绘制程序流程图是件繁琐的事,而且浪费时间。其实不然,当读者对着偌大的程序一筹莫展时,面对纷纭复杂的关系理不出头绪时,使用程序流程图绝对可以事半功倍。
因此建议在编制程序前先绘制流程图,这样编程的思路有条理,调试时同样会有条不紊。若编制程序之前没有绘制流程图,当排错没有进展时,可以马上编写流程图。你会发现,程序中某些分支或细节被忽略了,这些细节可能就是程序出错的地方。
2.不要过多地依赖单步调试
有些程序对时间很敏感。数据只在那么一瞬间有效,可谓稍纵即逝。所以等到单步执行到那里时,数据早已更改了。当然调试也就不会得到什么有意义的结果。
3.变量的定义
变量名一定要意义。而且同一个程序中,同一个变量只让它做一件事。不要为了节省空间,一“物”多用。现在的计算机内存足够大,多几个变量不会对程序的性能有本质的影响。
4.程序的结构
    合理的设计程序结构。在面向对象的程序设计中,将相关的功能做成一个成员函数,尽量降低各成员函数间的耦合性。其实,在过程化程序设计中,这就是代码模块化的表现。
5.修改代码的原则
    在程序彻底正常运行前,决不要轻易删除一段代码,即使当时认为这段代码肯定是错的。现在的集成开发环境都提供了注释工具,将暂时认为错误的代码注释要优于直接删除。若同一段代码修改多次,还应该在代码后面注明修改的时间及修改的原因。这些信息在后续的调试中会给你带来帮助。
6.检查循环语句
    循环语句经常是造成程序没有任何响应的罪魁祸首。详细检查程序中使用的每一个循环语句,尤其是while()循环语句。
7.与外部设备打交道
农村节能无烟柴火灶的建造方法  程序中,当操作文件时,一定要编写出错处理的代码。因为这些外部设备随时、随机都有可能不满足编制程序时的条件。
8.数组下标和循环的上下限
    为简化程序的编制,对于大量的、有规律的数据处理,通常都会选择采用数组和循环来实现。那么,此时要小心了,设置的数组下标是否满足实际数据需要,循环的上下限是否漏掉了数据的两个端点值。
9.屏蔽无关的代码
    当调试某个功能的代码时,为缩小查范围,可以注释掉与其无关的其他代码,或者注释掉该段代码的某个分支,这样会加快到问题的根源。考试作弊检讨

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。