软件调试原则和策略

在日常工作中,我们还是有些原则要坚守,也有些策略可用:

1、调试的本质:确认原则

修正充满错误的程序,就是逐个确认,你自认为正确的许多事情所对应的代码确实是正确的。当你发现其中某个假设不成立时,就表示已经找到了关于程序错误的位置的线索了,可能并不时准确的位置。

换一种表达方式来说:惊讶是好事。当你认为关于程序的某件事情是正确的,而在确认它的过程中却失败了,你就会感到惊讶,但这是好事,因为这种发现会引导你找到程序错误所在的位置。

2、熟悉软件设计和编码

让熟悉软件设计和编码的人参与调试工作,修改 错误也是程序设计的一种形式。 在程序设计阶段使用 的方法都可以应用到程序错误的修正工作中。

3、从简单工作开始调试

在调试过程的开始阶段,应该从容易、简单的情况开始运行程序。这样做也许无法揭示所有程序错误,但是很有可能发现其中的部分错误。例如,如果代码由大型循环组成,则最容易发现程序错误的是在第一次或第二次迭代期间引发错误。又比如多线程程序改为单线程或减少几个线程。

4、从软件模块的最小集成包开始

在增量式软件开发过程中,软件模块最初的起始 可能是一个最低功能限度的集成包,随后新的代码不 断加入到系统中。 调试工作可以从最小的集成包开 始,不断增加代码和模块来查找、定位问题。

5、分而治之

每次只处理一个问题,把被调试组件从其上下文 组件之中孤立出来,通过设计驱动模块和桩模块进行 调试。

6、发现问题及时反馈和处理

检测到的错误越早,就越容易找到原因。 如果等 到问题症状出现在客户端接口,那么可能很难缩小发 生问题的原因列表。

7、兼顾全局

程序代码错误修改兼顾全局,确保修改错误没有 影响软件的其他部分。

8、彻底修改

如果提出的修改方案不能解释与该错误有关的全 部线索,那就表明只修改了错误的一部分,必须对错误 进行彻底修改。

9、关注相关问题

在查找问题根源时,对可能发现的一些相关问题 也要做处理。 暂时不能处理的相关问题应该记录在案,为以后的调试工作保留相关信息。】

10、自顶向下的方法

通常采用自顶向下或模块化方法来编写代码。 采 用自顶向下或模块化的方法来调试代码,可以缩小软件问题定位的范围,提高调试效率。

posted on 2019-12-24 19:32  活着的虫子  阅读(1164)  评论(0编辑  收藏  举报

导航