天天看點

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

今天分享一下 IntelliJ IDEA 的進階調試技巧,來看下有多騷,确實要比 Eclipse 強太多了!

一、條件斷點

循環中經常用到這個技巧,比如:周遊1個大List的過程中,想讓斷點停在某個特定值。

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

二、回到"上一步"

該技巧最适合特别複雜的方法套方法的場景,好不容易跑起來,一不小心手一抖,斷點過去了,想回過頭看看剛才的變量值,如果不知道該技巧,隻能再跑一遍。

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

參考上圖,method1方法調用method2,目前斷點的位置j=100,點選上圖紅色箭頭位置的Drop Frame圖示後,時間穿越了

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

回到了method1剛開始調用的時候,變量i變成了99,沒毛病吧,老鐵們,是不是很6 :)

注:好奇心是人類進步的階梯,如果想知道為啥這個功能叫Drop Frame,而不是類似Back To Previous 之類的,可以去翻翻JVM的書,JVM内部以棧幀為機關儲存線程的運作狀态,drop frame即扔掉目前運作的棧幀,這樣目前“指針”的位置,就自然到了上一幀的位置。

三、多線程調試

多線程同時運作時,誰先執行,誰後執行,完全是看CPU心情的,無法控制先後,運作時可能沒什麼問題,但是調試時就比較麻煩了,最明顯的就是斷點亂跳,一會兒停這個線程,一會兒停在另一個線程,比如下圖:

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

如果想讓線程在調試時,想按自己的願意來,讓它停在哪個線程就停在哪個線程,可以在圖中3個斷點的小紅點上右擊,

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!
IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

注意上圖中的紅框位置,斷點停下來時,這個下拉框可以看到各個線程(注:給線程起個容易識别的名字是個好習慣!),我們可以選擇線程“天空中的飛鳥”

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

斷點如願停在了第2句詩。

四、遠端調試

這也是一個裝B的利器,本機不用啟動項目,隻要有源代碼,可以在本機直接遠端調試伺服器上的代碼,打開姿勢如下:

4.1 項目啟動時,先允許遠端調試

IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!
IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!
IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-06-03

本文作者: 光年

本文來自:“

網際網路架構師 微信公衆号

”,了解相關資訊可以關注“

網際網路架構師

繼續閱讀