• 软件调试原则和策略


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

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

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

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

    2、熟悉软件设计和编码

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

    3、从简单工作开始调试

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

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

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

    5、分而治之

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

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

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

    7、兼顾全局

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

    8、彻底修改

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

    9、关注相关问题

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

    10、自顶向下的方法

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

  • 相关阅读:
    idea问题
    队列的实现
    sqlalchemy 连接mysql8.0报 RuntimeError: cryptograpy si requeired for sha256_password 错误
    ubunut18.04 下安装 gitlab ce版,使用清华源
    在Centos下单机部署kubernetes
    在Centos 7.7下用minikube部署单节点kubernetes.
    访问docker desktop创建的Hyper-v虚拟机DockerDesktopVM
    为kubernetes-dashboard页面增加过期时间,减少登录次数.
    为Docker Desktop安装kubernet-dashboard
    用Hyper-v 在win10下使用Docker-Desktop体验kubernetes
  • 原文地址:https://www.cnblogs.com/yilang/p/12093168.html
Copyright © 2020-2023  润新知