本文是在David J. Agans所著Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems的基础之上写的。

在书中,David罗列了他从实际经验中总结出来的9条debug原则。我希望大家都能读一下这本书。

该书篇幅短、且通俗易懂,还穿插了一些有趣的故事。不过,还是有些开发人员不愿意花时间去看这样一本薄薄的书,所以我想对这本书的内容做一个总结还是有意义的。

我增加了第十条准则——debug数据。

十个基本准则包括:

1、debug数据(Debug the data)——检查数据是否是你所期望的

2、了解系统(Understand the system)

3、制造失败(Make it fail)——重复制造问题

4、不要想、而要看(Quit thinking and look)——不要急匆匆地下结论

5、分而治之(Divide and conquer)——缩小除虫范围。

6、一次只改一个地方(Change just one thing at a time)

7、坚持做复查(Keep an audit)

8、先找明显的bug(Check the obvious first)

9、询问其他人(Ask someone else)——询问朋友或同事,因为阐明一个问题有助于你理清头绪,并集中精力找到问题所在。

10、  如果你不解决问题,问题将依然存在(If you didn't fix it then it's not fixed)——Bug不会自己消失,需要你来解决。