點擊關(guān)注公眾號,Java干貨及時送達
來源微信公眾號:JAVA日知錄
在項目開發(fā)的時候我發(fā)現(xiàn)很多小伙伴能非常熟練的使用IDEA編寫代碼,但是對于IDEA調(diào)試的技巧掌握的不是很好,只會F7、F8、F9等這些基本調(diào)試功能。
條件斷點
條件斷點調(diào)試
退回上一步回到了method1剛開始調(diào)用的時候,變量i變成了99,沒毛病吧,老鐵們,是不是很6 :)3.多線程調(diào)試
如果想希望下一個斷點位置是第2句詩句,可能要失望了:如果想讓線程在調(diào)試時,想按自己的愿意來,讓它停在哪個線程就停在哪個線程,可以在圖中3個斷點的小紅點上右擊,即:Suspend掛起的條件是按每個線程來,而非All。把這3個斷點都這么設置后,再來一發(fā)試試注意上圖中的紅框位置,斷點停下來時,這個下拉框可以看到各個線程(注:給線程起個容易識別的名字是個好習慣?。?,我們可以選擇線程“天空中的飛鳥”4.遠程調(diào)試
這也是一個裝B的利器,本機不用啟動項目,只要有源代碼,可以在本機直接遠程調(diào)試服務器上的代碼,打開姿勢如下:4.1 項目啟動時,先允許遠程調(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
注意:遠程調(diào)試從技術(shù)上講,就是在本機與遠程建立scoket通訊,所以端口不要沖突,而且本機要允許訪問遠程端口,另外這一段參數(shù),放要在-jar 或 ${main_class}的前面4.2 idea中設置遠程調(diào)試

前提是本機有項目的源代碼 ,在需要的地方打個斷點,然后訪問一個遠程的url試試,斷點就會停下來。5. 臨時執(zhí)行表達式/修改變量的運行值
調(diào)試時,可以臨時執(zhí)行一些表達式,參考下圖:點擊這二個圖標中的任何1個都可以
點擊+號后,就可以在新出現(xiàn)的輸入框里輸入表達式,比如i+5

當然,如果調(diào)試時,想動態(tài)修改變量的值,也很容易,在變量上右擊,然后選擇Set Value,剩下的事,地球人都知道。好了,今天的文章就到這里了,牢記這5大調(diào)試技巧可以讓你快速定位問題,迅速解決bug,最后祝大家debug愉快!