東半球最先進的 debug 技巧
不論是什么行業(yè)里,能讓人最興奮的事情通常都是解決新奇的、高難度問題帶來的刺激。在我的工作中,經(jīng)常會遇到很多 bug,乍一看,它們都是不可能的。不是不可能解決,而是完全不可能出現(xiàn)。就好象最前沿的科技揭示了一個新的奇怪的邏輯現(xiàn)象,以至于人的大腦完全無法理解。
當然,這里我總結的這些 bug 都是很獨特的,如果你想說是否能有某種***進的系統(tǒng)性的方法能將這些 bug 歸類,統(tǒng)一解決,那是愚蠢的,就好象一個人無法認識到自己在犯錯而避免過錯一樣。不管怎樣,下面的這些 debug 原則對我是十分有效的,而且我相信,對大多數(shù)程序員也都是有效的。
-
你改錯了文件
-
你改對了文件,但卻是在別人的機器上
-
你改對了文件,但忘了保存
-
你該對了文件,但忘了重新編譯
-
你認為你把那個東西開啟了,但實際上你把它關閉了
-
你認為你把那個東西關閉了,但實際上你把它開啟了
-
會議中,你應該用心聽。
-
你運行了錯誤的版本
-
你運行了正確的版本,但卻是在別人的機器上
-
你改正了問題,但忘了提交
-
你改正了問題,也提交了,但忘了 push 到版本庫中
-
你改正了問題,也提交了,也 push 了。然而,很多用戶的工作都依賴于之前有問題的版本,于是你必須回滾。
我非常虔誠的向大家奉送這些 debug 原則,任何一次 debug 都不可能只使用其中的一個方法解決。我真摯的希望大家通過對這些 debug 原則的思考能獲得意想不到的收獲。
譯文出自:http://www.oschina.net/news/54244/cutting-edge-debugging