调试九法

调试九法

参考《调试九法:软硬件错误的排查之道》----David J. Agans著


1.理解系统

你必须掌握系统的工作原理以及它是如何设计的,在某些情况下,还要知道为什么这样设计。

  • 阅读手册。

注意,手册上的信息也不可全信。

  • 逐字逐句阅读整个手册

  • 掌握基础知识

  • 知道什么是正常的

  • 知道工作流程

  • 了解你的工具

  • 查阅细节

    2.制造失败

目的是为了观察它,找到原因,并检查是否已修复。

  • 从头开始
  • 引发失败,但不要模拟失败
  • 查找不受你控制的条件
  • 记录每件事情,并找到间歇性bug的特征
  • 不要过于相信统计数据
  • 要认识到“那”是可能发生的
  • 永远不要丢掉一个调试工具
3.不要想,而要看

  • 观察失败
  • 查看细节
  • 植入插装工具,添加外部插装工具
  • 不要害怕深入研究
  • 主要海森堡效应,不要让仪器影响了系统
  • 猜测只是为了确定搜索的重点
4.分而治之

当bug的藏身之地不断被缩小一半时,它将很难再隐藏下去。

  • 通过逐次逼近缩小搜索范围
  • 确定范围
  • 使用易于查看的测试模式
  • 从有问题的一端开始搜索
  • 修复已知bug,bug互相保护,互相隐藏
  • 首先消除噪声干扰
5.一次只改一个地方

  • 隔离关键因素
  • 一次只改一个测试
  • 与正常情况进行比较
  • 确定自从上一次正常工作以来你改变了什么地方
6.保持审计跟踪

  • 把你的操作、操作的顺序和结果全部记录下来
  • 任何细节都可能是重要的
  • 把事件关联到一起
  • 用于设计的审计跟踪在测试中也非常有用
  • 把事情记录下来
7.检查插头

  • 置疑你的假设
  • 从头开始
  • 对工具进行测试
8.获得全新观点

  • 征求别人的意见
  • 获取专业知识
  • 听取别人的经验
  • 帮助无处不在
  • 放下面子
  • 报告症状,而不要讲你的理论
  • 你提出的问题不必十分肯定
9.如果你不修复bug,它将依然存在

  • 查证问题确实已被修复
  • 查证确实是你的修复措施解决了问题
  • bug从来不会自己消失
  • 从根本上解决问题
  • 对过程进行修复
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值