idea斷點除錯總結
阿新 • • 發佈:2019-01-09
一、設定條件斷點
也就是在除錯時,想要在某個變數值為某一個特定值或符合其它條件時,能夠將執行緒掛起。
如圖,如果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行的斷點,該斷點處沒有設定輸出日誌操作,所以即使執行到該行時,也不會輸出!
效果如下: