草 稿

13条黄金调试规则

来自《软件调试实战》,作者:Thorsten Grötker,Ulrich Holtmann,Holger Keding,Markus Wloka。

  1. 理解需求。

    或许软件根本就没有故障,只是产生了误解,而不是bug。

  2. 制造失败。

    需要一个测试用例,使程序运行失败。

  3. 简化测试用例。

  4. 读取恰当的错误消息。

    第一个错误之后所发生的每件事都应该用一种怀疑的眼光来看待。

  5. 检查显而易见的问题。

    软件的所有部分是否都已启动运行?系统内存是否足够?是否有正确的权限?足够的磁盘空间?

  6. 从解释中分离出事实。

    不要直接下结论。整理一份对某一事实已知的情况和原因清单。

  7. 分而治之。

    如果问题很容易解决,则直接解决;否则就将其分解为两个或多个更小的问题。

  8. 整理一份清单,列出潜在问题以及如何调试它们。

  9. 将环境更改和源代码更改区分开。

    跟踪环境的更改。

    撤销源代码的更改。

  10. 放大并治之。

    内存调试。

    常规的源代码调试。

    同步调试。

  11. 工具要与bug匹配。

    不要嫌麻烦,要调试的是出现问题的地方,而不是便于调试的地方。

  12. 一次只做一项更改。

  13. 保持审计跟踪。

    涉及多个参数的问题,要记下都做了哪些事情、执行的顺序以及出现了什么结果。

  14. 获得全新观点。

    陷入僵局时,可以找别人讨论一下。一定要在事实与你的理论之间划出明确的界限。

  15. bug不会自己修复。

    有时在修改了某些语句之后,bug可能会消失。但是,除非有很充分的理由说明修复很有效,否则最好假设bug仍然存在,并且未来还会发作。

    即使有很好的解释,也要验证修复的有效性。方法是取消修复,并检查bug是否重新出现。

    做出更改后重新构建。

  16. 用回归测试来检查bug修复。

    将简化的测试用例(规则3)转化为回归测试。

评论(2

不错的轻单。
作者
谢。
取消