软件调试实战
1 13条黄金调试规则
1.1 1 理解需求
1.1.1 保证理解需求,以确认是否是BUG
1.2 2制造失败
1.2.1 需要一个测试用例是程序运行失败
1.2.2 用该测试用例来回归BUG测试
1.3 3 简化测试用例
1.3.1 排除不起作用的因素
1.3.2 减少测试用例的时间
1.3.3 使用例更容易测试
1.4 4 读取恰达的错误消息
1.4.1 首先出现的消息
1.5 5 检查显而易见的问题
1.5.1 软件是否正确运行
1.5.2 权限
1.5.3 磁盘空间
1.5.4 ...
1.6 6 从解释中分离出事实
1.6.1 列出某一已知情况和原因,问自己能否证明它
1.7 7 分而治之
1.7.1 整理一份清单,列出潜在问题
1.7.2 将环境更改和源代码更改区分开
1.7.2.1 跟踪环境的更改
1.7.2.2 撤销源代码的更改
1.7.3 放大并治之
1.7.3.1 内存调试
1.7.3.2 源代码调试
1.7.3.3 同步调试
1.8 8 工具要与BUG匹配
1.8.1 调试出现问题的地方,而不是便于调试的地方
1.9 9 一次只做一项更改
1.9.1 做一处更改,检查其是否有意义,如果没有返回原有状态
1.10 10 保持审计跟踪
1.10.1 需要尝试多个原因的组合
1.11 11 获取全新观点
1.11.1 陷入僵局,可以找人讨论
1.11.2 划清事实与你的理论的界限(可能你的理论不够完善,避免误导对方)
1.12 12 BUG不会自己修复
1.12.1 取消修复并验证BUG能否重现
1.13 13 用回归测试来检查BUG