Java除錯檢查表
檢查的物件不是開發庫,也不是JDK,而是你自己。
程式執行不正常的時候通常要除錯,除錯技術(Debugging) 是每位開發者必須要掌握的一項技能。然而,掌握除錯技術非一日之功。幸運地是,JDK 為 Java 提供了很多除錯工具(例如 jstack )以及第三方工具(比如 JMeter )。像 IntelliJ 或 Eclipse 這樣的 IDE 都集成了測試工具,利用好 IDE 的除錯功能非常重要。下面這些建議可以加速掌握除錯技術:
- 別怕讀程式碼,尤其是別人的程式碼。儘可能深入程式碼背後的執行機制。
- 不要甩鍋給 JDK 或函式庫。永遠不要假設 Java 出了問題,這麼幹的結果通常都會打臉。百分之九十九的可能 bug 都來自你自己的程式碼。
- 可以假設,但是不要自信,因為我們都可能有盲點。
- 不要一直盯著問題,離開工位四處走走,回來的時候會變得思路清晰(鍛鍊、睡個好覺、見見朋友——休息一下)。
- 不要靠運氣程式設計,換句話說,不要寫(拷貝)那些你自己也搞不懂的程式碼。
- Google 是你最佳的程式設計伴侶。(譯註,可以是你其他熟悉的搜尋引擎 )
- 如果不清楚某個Java特性,查一下 JDK ofollow,noindex" target="_blank">javadoc 。
- 設定合適的 log 級別 (info , warn , error, debug )。
- 設定斷點可以讓我們對程式有一個全域性瞭解。除錯迴圈的時候,條件斷點非常好用。
- 用 JMeter 這樣的工具做負載測試,或者用 jstack 捕獲執行緒轉儲(dump)檔案。
- 在開發和準生產環境下,可以遠端除錯程式。
- 如果上面的建議都無效,可以這麼幹:首先,精簡程式碼;接著,檢查程式執行環境;最後,檢查開發庫。
除錯是一門很難掌握的技術,但熟能生巧。所以,儘可能找機會多練習吧!
原文連結:dzone 翻譯:ImportNew.com -唐尤華
譯文連結:[]