无意中看到一本书,Debugging—The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems,感觉对调试很有帮助,在此记录下自己的阅读,来加深印象.
多年调试的经验告诉我两件事情:
1. 如果一个程序我们调试了很久却收效甚微,一般是因为我们在调试的过程中忽略了一些必须遵守的基本原则,一旦我们遵守这些原则,我们就能进展很快.
2. 善于调试的人天生就理解并应用了这些原则.
当你阅读这些原则时,你可能会说,这些原则是显然的事情.不要那么草率的下结论.这些原则是很显然(似乎基本的原则都很显然易见),但如何把他们应用到一个特定的系统中却并非那么显然. 同时,也需要区分显然的事情和容易的事情.这些原则并不是那么容易遵守,尤其是在调试最激烈的时候,处于进度等压力,我们往往走自以为的捷径,忽视这些原则的存在.
关键是记住并应用他们.如果他们是容易做到的,那么我就不会时常提醒工程师去使用他们,也不会有好几打的故事来说明不应用这些原则会如何.天生就应用这些原则的人很难找到.这本书的目的就是展示这些"显然的"原则,帮助我们理解他们,记住他们,教会我们如何应用他们.他们将调试由艺术变为科学.
我们先列出这些原则
UNDERSTAND THE SYSTEM
MAKE IT FAIL
QUIT THINKING AND LOOK
DIVIDE AND CONQUER
CHANGE ONE THING AT A TIME
KEEP AN AUDIT TRAIL
CHECK THE P LUG
GET A FRESH VIEW
IF YOU DIDN'T FIX IT, IT AIN'T FIXED