1. 程式人生 > >idea斷點除錯總結

idea斷點除錯總結

一、設定條件斷點

也就是在除錯時,想要在某個變數值為某一個特定值或符合其它條件時,能夠將執行緒掛起。

如圖,如果for迴圈中定位問題,希望執行集合中的id為369的物件時能夠將執行緒掛起,看看該物件為何執行報錯,此時在如圖所示彈框中設定表示式即可,注意使用”==“判斷,就是要使條件表示式的結果為boolean型別。

在彈出的對話方塊中有Enabled和Suspend選項,這Enable是斷點是否啟用,Suspend就是執行緒是否掛起,All是掛起所有執行緒。

 

二、列印變數或表示式到控制檯

應用場景:有一個id集合,根據id集合查詢資料庫,此時效能比較慢,就拿出來id集合到資料庫執行,看看sql執行過程,為了保持和執行時效果一樣,就需要原來的id集合值,如果將在程式碼中將集合轉換成字串再輸出到控制檯,中間需要重新部署專案,影響工作效率不說,要是忘了刪除,被提交到線上,就可能發生嚴重的問題。

最好的方式就是通過debug模式,在斷點中新增輸出到控制檯的程式碼,直接複製控制檯中輸出的集合即可。

操作步驟:

1,當需要輸出的變數已經獲取到完整的id集合時,在其後面程式碼中設定斷點,斷點處滑鼠右鍵,點選“More..."

2, 在彈框中,選擇對應行設定的斷點,選中”Evaluate and log" ,

輸入新增輸出到控制檯的程式碼"System.out.println()",然後點選done即可。再次請求時,執行到第103行的斷點時,會自動先執行這個輸出命令,列印到控制檯。

注意,如圖第101行的斷點,該斷點處沒有設定輸出日誌操作,所以即使執行到該行時,也不會輸出!

 

 效果如下: