(1) 理解代码的工作原理,而不仅仅是测试跟踪,有助于更快更好的调试代码;(2) 版本回溯,可以很方便地界定bug;(3) 版本对比,可以方便地发现bug的产生根源;(4) 能工作,且有进展的情况下一定要做版本提交,以利重现;光凭记忆是很难回溯的;(5) 如果代码产生的结果在某个branch上变得一团糟,那么从一个干净的代码基重新开始;(6) 找高手讨论问题,往往自己觉得很难的地方,高手一点即通;(7) 如果一条路走得很艰难,可以考虑别的路径,也许很容易就到达; (8) 事情常常比想象的复杂,比思考的简单; 小心思维定势,别把简单的事情复杂化; (9) 测试要在目标机上进行,即使你认为它和你在用的机器没什么本质差别,结果往往还是会出人意料; (10) 凡事都有原因,每个问题都能找到背后的缘由; (11) 解bug就像破案:本来好好的,突然出现了莫名其妙的新问题,那就仔细想想你都干了些什么; (12) 复杂的代码如果看不懂就画函数调用关系图、架构框图...; 持续更新中...