调试九法:软硬件错误的排查之道

徐小东

2023-01-03

{作者 David J.Agans1 https://book.douban.com/subject/5376270/}

  1. 理解系统

    理解系统的基本方法就是阅读手册,逐字逐句阅读整个手册,避免跳读,问题的线索可能就隐藏在被略过的那些章节中。知道工作流程,尝试寻找 bug 时,必须知道要查找的路线。了解工具,调试工具是用来观察系统的眼和耳,必须选择正确的工具,正确地使用工具,并正确地解释得到的结果。

  2. 制造失败

    原因是可以观察它,可以专心查找原因,可以判断是否已修复问题。从头开始,引发失败。

  3. 不要想,而要看

    观察失败,一定要亲眼看到实际错误是如何发生的,观察往往比猜测能够更快地找到问题。查看细节,一直观察,直到把问题的原因锁定在几种可能性之内。猜测只是为了确定搜索的重点目标。

  4. 分而治之

    调试的核心。缩小搜索范围,从有问题的支路开始查找问题。

  5. 一次只改一个地方

    使用步枪,而不要用散弹枪。与正常系统进行比较。追问:自从上一次能够正常工作以来你更改了什么?

  6. 保持审计跟踪

    记下你的每步操作、顺序和结果。魔鬼隐藏在细节中,描述事情的时候要具体且一致。

  7. 检查插头

    敢于怀疑自己的假设,从头开始检查。

  8. 获得全新观点

    要想重新理清一个案子的头绪,最好的方法就是把它将给别人听 — 福尔摩斯

    寻求帮助,询问专家,借鉴别人的经验。

  9. 如果你不修复 bug,它将依然存在

    bug 从来不会自己消失,要从根本上解决问题。