中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IntelliJ IDEA調試技巧是怎么樣的

發布時間:2021-10-28 16:10:50 來源:億速云 閱讀:145 作者:柒染 欄目:編程語言

IntelliJ IDEA調試技巧是怎么樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

大家周末愉快啊,今天分享一下 IntelliJ IDEA 的高級調試技巧,來看下有多騷,確實要比 Eclipse 強太多了!

一、條件斷點

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

IntelliJ IDEA調試技巧是怎么樣的

參考上圖,在斷點的位置,右擊斷點旁邊的小紅點,會出來一個界面,在Condition這里填入斷點條件即可,這樣調試時,就會自動停在i=10的位置

IntelliJ IDEA調試技巧是怎么樣的

二、回到"上一步"

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

IntelliJ IDEA調試技巧是怎么樣的

參考上圖,method1方法調用method2,當前斷點的位置j=100,點擊上圖紅色箭頭位置的Drop Frame圖標后,時間穿越了

IntelliJ IDEA調試技巧是怎么樣的

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

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

三、多線程調試

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

IntelliJ IDEA調試技巧是怎么樣的

如果想希望下一個斷點位置是第2句詩句,可能要失望了:

IntelliJ IDEA調試技巧是怎么樣的

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

IntelliJ IDEA調試技巧是怎么樣的

即:Suspend掛起的條件是按每個線程來,而非All。把這3個斷點都這么設置后,再來一發試試

IntelliJ IDEA調試技巧是怎么樣的

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

IntelliJ IDEA調試技巧是怎么樣的

斷點如愿停在了第2句詩。另外,想學更多技巧,可以關注微信公眾號:Java技術棧,在后臺回復:idea,獲取我整理的 N 篇 IDEA 干貨。

四、遠程調試

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

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

java -server -Xms512m -Xmx512m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt\_socket,server=y,suspend=n,address=9081 -Djava.ext.dirs=. ${main\_class}

起作用的就是

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081

注意:遠程調試從技術上講,就是在本機與遠程建立scoket通訊,所以端口不要沖突,而且本機要允許訪問遠程端口,另外這一段參數,放要在-jar 或 ${main_class}的前面

4.2 idea中設置遠程調試

IntelliJ IDEA調試技巧是怎么樣的

然后就可以調試了

IntelliJ IDEA調試技巧是怎么樣的

前提是本機有項目的源代碼 ,在需要的地方打個斷點,然后訪問一個遠程的url試試,斷點就會停下來。

五、臨時執行表達式/修改變量的運行值

調試時,可以臨時執行一些表達式,參考下圖:點擊這二個圖標中的任何1個都可以

IntelliJ IDEA調試技巧是怎么樣的

點擊+號后,就可以在新出現的輸入框里輸入表達式,比如i+5

IntelliJ IDEA調試技巧是怎么樣的

然后回車,馬上就能看到結果

IntelliJ IDEA調試技巧是怎么樣的

當然,如果調試時,想動態修改變量的值,也很容易,在變量上右擊,然后選擇Set Value,剩下的事,地球人都知道。

IntelliJ IDEA調試技巧是怎么樣的

上述內容,你們掌握IntelliJ IDEA調試技巧是怎么樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

钟山县| 雅江县| 宜宾市| 榆林市| 齐齐哈尔市| 昌都县| 尼玛县| 蒙山县| 松阳县| 武义县| 保定市| 馆陶县| 昌都县| 舒兰市| 白朗县| 玉龙| 松滋市| 东光县| 镇坪县| 塔河县| 南投市| 奈曼旗| 惠来县| 海兴县| 大港区| 彭泽县| 吉水县| 东阿县| 东至县| 吉安市| 凤台县| 固镇县| 武川县| 察哈| 巩留县| 阿瓦提县| 姚安县| 奉新县| 安泽县| 乡城县| 准格尔旗|