真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IntelliJIDEA調(diào)試技巧是怎么樣的

IntelliJ IDEA調(diào)試技巧是怎么樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)是一家集成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡(luò)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。

大家周末愉快啊,今天分享一下 IntelliJ IDEA 的高級(jí)調(diào)試技巧,來(lái)看下有多騷,確實(shí)要比 Eclipse 強(qiáng)太多了!

一、條件斷點(diǎn)

循環(huán)中經(jīng)常用到這個(gè)技巧,比如:遍歷1個(gè)大List的過(guò)程中,想讓斷點(diǎn)停在某個(gè)特定值。

IntelliJ IDEA調(diào)試技巧是怎么樣的

參考上圖,在斷點(diǎn)的位置,右擊斷點(diǎn)旁邊的小紅點(diǎn),會(huì)出來(lái)一個(gè)界面,在Condition這里填入斷點(diǎn)條件即可,這樣調(diào)試時(shí),就會(huì)自動(dòng)停在i=10的位置

IntelliJ IDEA調(diào)試技巧是怎么樣的

二、回到"上一步"

該技巧最適合特別復(fù)雜的方法套方法的場(chǎng)景,好不容易跑起來(lái),一不小心手一抖,斷點(diǎn)過(guò)去了,想回過(guò)頭看看剛才的變量值,如果不知道該技巧,只能再跑一遍。

IntelliJ IDEA調(diào)試技巧是怎么樣的

參考上圖,method1方法調(diào)用method2,當(dāng)前斷點(diǎn)的位置j=100,點(diǎn)擊上圖紅色箭頭位置的Drop Frame圖標(biāo)后,時(shí)間穿越了

IntelliJ IDEA調(diào)試技巧是怎么樣的

回到了method1剛開始調(diào)用的時(shí)候,變量i變成了99,沒(méi)毛病吧,老鐵們,是不是很6 :)

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

三、多線程調(diào)試

多線程同時(shí)運(yùn)行時(shí),誰(shuí)先執(zhí)行,誰(shuí)后執(zhí)行,完全是看CPU心情的,無(wú)法控制先后,運(yùn)行時(shí)可能沒(méi)什么問(wèn)題,但是調(diào)試時(shí)就比較麻煩了,最明顯的就是斷點(diǎn)亂跳,一會(huì)兒停這個(gè)線程,一會(huì)兒停在另一個(gè)線程,比如下圖:

IntelliJ IDEA調(diào)試技巧是怎么樣的

如果想希望下一個(gè)斷點(diǎn)位置是第2句詩(shī)句,可能要失望了:

IntelliJ IDEA調(diào)試技巧是怎么樣的

如果想讓線程在調(diào)試時(shí),想按自己的愿意來(lái),讓它停在哪個(gè)線程就停在哪個(gè)線程,可以在圖中3個(gè)斷點(diǎn)的小紅點(diǎn)上右擊,

IntelliJ IDEA調(diào)試技巧是怎么樣的

即:Suspend掛起的條件是按每個(gè)線程來(lái),而非All。把這3個(gè)斷點(diǎn)都這么設(shè)置后,再來(lái)一發(fā)試試

IntelliJ IDEA調(diào)試技巧是怎么樣的

注意上圖中的紅框位置,斷點(diǎn)停下來(lái)時(shí),這個(gè)下拉框可以看到各個(gè)線程(注:給線程起個(gè)容易識(shí)別的名字是個(gè)好習(xí)慣?。?,我們可以選擇線程“天空中的飛鳥”

IntelliJ IDEA調(diào)試技巧是怎么樣的

斷點(diǎn)如愿停在了第2句詩(shī)。另外,想學(xué)更多技巧,可以關(guān)注微信公眾號(hào):Java技術(shù)棧,在后臺(tái)回復(fù):idea,獲取我整理的 N 篇 IDEA 干貨。

四、遠(yuǎn)程調(diào)試

這也是一個(gè)裝B的利器,本機(jī)不用啟動(dòng)項(xiàng)目,只要有源代碼,可以在本機(jī)直接遠(yuǎn)程調(diào)試服務(wù)器上的代碼,打開姿勢(shì)如下:

4.1 項(xiàng)目啟動(dòng)時(shí),先允許遠(yuǎn)程調(diào)試

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

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

4.2 idea中設(shè)置遠(yuǎn)程調(diào)試

IntelliJ IDEA調(diào)試技巧是怎么樣的

然后就可以調(diào)試了

IntelliJ IDEA調(diào)試技巧是怎么樣的

前提是本機(jī)有項(xiàng)目的源代碼 ,在需要的地方打個(gè)斷點(diǎn),然后訪問(wèn)一個(gè)遠(yuǎn)程的url試試,斷點(diǎn)就會(huì)停下來(lái)。

五、臨時(shí)執(zhí)行表達(dá)式/修改變量的運(yùn)行值

調(diào)試時(shí),可以臨時(shí)執(zhí)行一些表達(dá)式,參考下圖:點(diǎn)擊這二個(gè)圖標(biāo)中的任何1個(gè)都可以

IntelliJ IDEA調(diào)試技巧是怎么樣的

點(diǎn)擊+號(hào)后,就可以在新出現(xiàn)的輸入框里輸入表達(dá)式,比如i+5

IntelliJ IDEA調(diào)試技巧是怎么樣的

然后回車,馬上就能看到結(jié)果

IntelliJ IDEA調(diào)試技巧是怎么樣的

當(dāng)然,如果調(diào)試時(shí),想動(dòng)態(tài)修改變量的值,也很容易,在變量上右擊,然后選擇Set Value,剩下的事,地球人都知道。

IntelliJ IDEA調(diào)試技巧是怎么樣的

上述內(nèi)容,你們掌握IntelliJ IDEA調(diào)試技巧是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


當(dāng)前名稱:IntelliJIDEA調(diào)試技巧是怎么樣的
文章網(wǎng)址:http://weahome.cn/article/ggphci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部