idea debug模式除錯無法進入單元測試或程式的解決辦法

FserSuN發表於2020-12-03

idea debug模式除錯無法進入單元測試或程式或除錯速度很慢的解決辦法

在Java專案中,當我們設定斷點過多,有時候會出現無法正常啟動系統或單元測試。例如Spring/SpringBoot專案,一直處在啟動中,但使用無法正常相應。或者是執行junit單元測試,一直無法進入在test中設定的斷點。這時可以嘗試如下操作:

IDEA除錯效能受到下列因素的影響:

  • 由於JVM的設計原因,相關計算開銷較大,方法斷點會降低除錯效能。可以考慮刪除方法斷點,使用行斷點[1]。可以在專案的workspace.xml檔案中查通過關鍵詞method_breakpoints尋找是否有方法斷點。或者一次清除所有設定的斷點。

  • 啟用了檢視返回值選項。可以禁用這個選項改善效能。

  • 在debugger|data views配置頁面中有enable alternative views和enable toString()兩個選項。如果toString()耗時較長則可禁用改選項。
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 偵錯程式工具視窗-記憶體狀態展示視窗。debugger 每觸發一次停頓,視窗都會重新整理展示資料。可以將視窗最小化改善單步除錯效能。
    在這裡插入圖片描述

多數情況下刪除所有斷點就可以解決問題。

原文

[1]https://intellij-support.jetbrains.com/hc/en-us/articles/206544799-Java-slow-performance-or-hangups-when-starting-debugger-and-stepping

相關文章