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

2020-10-16 Java進階架構師

★★★建議星標我們★★★

2020年Java原創面試題庫連載中

【000期】Java最全面試題庫思維導圖

【020期】JavaSE系列面試題匯總(共18篇)

【028期】JavaWeb系列面試題匯總(共10篇)

【042期】JavaEE系列面試題匯總(共13篇)

【049期】資料庫系列面試題匯總(共6篇)

【053期】中間件系列面試題匯總(共3篇)

【065期】數據結構與算法面試題匯總(共11篇)

【076期】分布式面試題匯總(共10篇)

【077期】綜合面試題系列(一)

【078期】綜合面試題系列(二)

【079期】綜合面試題系列(三)

【080期】綜合面試題系列(四)

【081期】綜合面試題系列(五)

【082期】綜合面試題系列(六)

【083期】綜合面試題系列(七)

【084期】綜合面試題系列(八)

【085期】綜合面試題系列(九)

【086期】綜合面試題系列(十)

【087期】綜合面試題系列(十一)

【088期】綜合面試題系列(十二)

【089期】綜合面試題系列(十三)

更多內容,點擊上面藍字查看

來源:http://suo.im/5XrIv1

一、條件斷點

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

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

二、回到"上一步"

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

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

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

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

三、多線程調試

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

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

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

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

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

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

四、遠程調試

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

4、1 項目啟動時,先允許遠程調試

  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}

起作用的就是

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

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

4、2 idea中設置遠程調試

然後就可以調試了

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

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

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

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

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

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

善用上述調試技巧,相當大家擼起代碼來會更有感覺,祝大家假期愉快!

PS:如果覺得我的分享不錯,歡迎大家隨手點讚、轉發。

之前,給大家發過三份Java面試寶典,這次新增了一份,目前總共是四份面試寶典,相信在跳槽前一個月按照面試寶典準備準備,基本沒大問題。

  • 《java面試寶典5.0》(初中級)

  • 《350道Java面試題:整理自100+公司》(中高級)

  • 《資深java面試寶典-視頻版》(資深)

  • 《Java[BAT]面試必備》(資深)

分別適用於初中級,中高級資深級工程師的面試複習。

內容包含java基礎、javaweb、mysql性能優化、JVM、鎖、百萬並發、消息隊列,高性能緩存、反射、Spring全家桶原理、微服務、Zookeeper、數據結構、限流熔斷降級等等。

看到這裡,證明有所收穫

相關焦點

  • IDEA 調試技巧,比 Eclipse 強太多了!
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫一、條件斷點循環中經常用到這個技巧,比如:遍歷1個大List的過程中,想讓斷點停在某個特定值。
  • IntelliJ IDEA 2020的調試技巧,真的比eclipse強太多了
    一、條件斷點循環中經常用到這個技巧二、回到&34;該技巧最適合特別複雜的方法套方法的場景,好不容易跑起來,一不小心手一抖,斷點過去了,想回過頭看看剛才的變量值,如果不知道該技巧,只能再跑一遍。三、多線程調試多線程同時運行時,誰先執行,完全是看CPU行情的,無法控制先後,運行時可能沒什麼問題,但是調試時就比較麻煩了,最明顯的就是斷點亂跳,一會兒停這個線程,一會兒停在另一個線程
  • 使用Eclipse調試Java程序的10個技巧
    你應該看過一些如《關於調試的N件事》這類很流行的帖子 。假設我每天花費1小時在調試我的應用程式上的話,那累積起來的話也是很大量的時間。由於這個原因,用這些時間來重視並了解所有使我們調試更方便的功能。那能為你省下一些時間,也將會使你的生活更安逸、輕鬆。同時也表明其它關於此主題的帖子也是很有價值的。第1條:不要調試太多一個關於調試的瘋狂聲明作為開頭。但它必須是要說的!
  • 程式設計師:我用eclipse同事說太low,idea很好麼?網友:菜雞互啄!
    這個網友目前用的開發工具是eclipse,他被同事嘲笑了,他同事說用eclipse實在是太low了,該用idea了,這就讓這名網友有點鬱悶了,於是這名網友就發了一個調查貼,看看大家都是在用eclipse還是idea,他更關心大公司的人都用的是哪一種開發工具,另外他還有個小疑問,那就是idea是收費軟體,難道每個大企業都用正版麼?針對他的這些問題,我們看看網友們都是怎麼回復的吧!
  • 再見我的Eclipse……
    使用了eclipse10年之後,我終於投向了IDEA最近,改用了idea,同事都說我投敵了。當然,這些同事都是和我一樣的「老」程式設計師。不說畢業生,公司裡的90後基本電腦都不會安裝eclipse。eclipse 的三足鼎立時期開始我寫Java程序,用的並不是eclipse,而是用的一款叫做jbuilder的工具。
  • 程式設計師:組長強制讓我從idea轉eclipse!網友:用vim吧!
    之前有篇文章,曾經討論過關於程式設計師的開發工具之爭,其中提到idea與eclipse哪個更好用的問題,當時得到的結論是這樣的,從客觀上來說idea會比eclipse更強大一點,不過 idea是收費的,而eclipse是免費的,另外,不同人的所處的環境以及個人習慣不同,也有一部人會覺得eclipse更好用點,因此大家就根據自己的具體情況去選擇好了,最近有一名程式設計師給我們分享了他的一個小小的遭遇
  • 寫Java,eclipse還是IDEA?教你怎麼選編譯器
    打開APP 寫Java,eclipse還是IDEA?教你怎麼選編譯器 酷愛小島 發表於 2020-07-01 15:36:51 寫Java,「eclipse」還是「IDEA」?
  • eclipse轉idea怎麼添加命名空間
    idea沒有eclipse的sts插件那麼方便可以一鍵添加命名空間自己手動複製吧xmlns=&34; xmlns:xsi=&34; xmlns:mvc=&34; xmlns:context=&34; xmlns:aop=&34; xmlns:cache=&34; xmlns:c=&34; xmlns:
  • eclipse調試arm裸機程序
    四、安裝Eclipse軟體紅帽企業版6.3中默認安裝了eclipse執行:which eclipse 可以查看在哪個目錄下這個版本不適合,我們不能用,所以首先我們得卸載這個,其實我們把查詢到的eclipse
  • eclipse怎麼調試程序 調試代碼的方法介紹
    1、設置斷點   在程序裡面放置一個斷點,也就是雙擊需要放置斷點的程序左邊的欄目上。   2、調試   (1)點擊"打開透視圖"按鈕,選擇調試透視圖,則打開調試透視圖界面,然後先設置斷點,按調試按鈕則可以調試程序。   (2)或者直接點擊調試按鈕,那個蟲子樣子的按鈕,然後就會進入調試透視圖的界面。前提你需要是要在程序中設置好斷點。
  • idea遠程調試
    【前言】 在工作中不免會遇到由於環境引起的問題,在本地可以但是發布到伺服器上有問題,此時可以藉助於遠程調試幫我們快速定位問題的所在。【遠程調試】 一、基本環境說明 1.本博客的demo代碼地址 https://github.com/dangnianchuntian/springboot
  • 讓Idea比eclipse更加好用
    Idea的項目目錄我們創建的項目,在d:\ideawork目錄的demo下目錄是存儲編譯後的.class文件目錄是存儲我們編寫的.java源文件Idea默認的常用快捷快捷鍵這個功能非常有用,你可以根據這個,設置你要的快捷代碼,比如輸入if輸出if的完整語句等,如下:比如輸入if輸出if的完整語句等,如idea默認輸入if不會自動補全,缺少{},而你可以通過自定義模板配置一個叫if的模板, 模板的文字內容寫if語句的完整格式,$END$表示光標最後停留的位置,如下:自動導包
  • IntelliJ IDEA開發工具使用
    一、Idea介紹IDEA全稱Intelij IDEA,是java語言開發的集成環境,類似於eclipse和myeclipse,InteliJ在業界被公認為最好的java開發工具之一。優點:(1) 智能化代碼助手、重構、J2EE支持、各類版本工具(git、svn、github)(2) 最突出的調試功能,可以對java、JavaScript、jQuery、Ajax等技術進行調試(3) IDEA是JetBrans公司的產品,該公司還有其他的開發工具產品缺點:太強大的自動提示功能讓使用者漸漸產生依賴感下載地址
  • 安裝了xdebug後,發現每次調試都需要從eclipse中先從頭啟動,然後一...
    安裝了xdebug後,發現每次調試都需要從eclipse中先從頭啟動,然後一步步走到你要調試的頁面,而不是說想什麼時候調試就什麼時候調試。之前用zenddebugger的時候則是可以在任意頁面啟動調試,直接從瀏覽器通知開發環境需要調試。而不用先從開發環境啟動調試。
  • 為何放棄Eclipse,選擇IntelliJ IDEA,看完終於明白了
    如果你初次用idea,毫無目的的度娘如何使用IDEA 浪費的將會是大量的時間。為以表誠意,上一套IDEA教學視頻,以表我誠意。(下載地址:https://pan.baidu.com/s/1gfeX3hD)當你堅持用一周用IDEA後,你會真正的愛上它,哪怕前幾天是痛苦的熬過來,到最後你也會真正的明白為什麼我會讓你選擇它!!!且看下文!!
  • 在Eclipse IDE環境下使用TRACE32調試工具
    MCU/SoC系統開發調試工具廠商勞特巴赫技術有限公司(Lauterbach)提供的TRACE32調試和跟蹤工具已經被廣泛的應用在通信/家用電子,汽車電子,醫療器械及工業控制等高端市場的程序調試和跟蹤領域,為無數的行業領導企業帶來了巨大的便利和效益。
  • IDEA遠程調試
    背景大部分測試環環境和本地環境有區別,在本地上也很難搭建起一套完整的服務,所以導致了在本地可以發布到伺服器上卻出現各種問題,這時候我們就可以藉助遠程調試來幫助我們快速的定位問題的所在。基本環境遠程調試需要在伺服器上部署與本地一致的代碼。
  • Idea遠程調試
    idea遠程調試方式Idea遠程調試 當把一個本地項目部署到遠程伺服器後有可能出現意想不到錯誤,這個時候通過遠程調試能夠更清楚的找到bug所在位置。本篇主要講解如何使用Idea開發工具 進行調試1.遠程調試伺服器上面的SpringBoot 項目2.遠程調試伺服器上運行在tomcat中的項目,實際開發部署中有時候還是很有用處的,方便你定位錯誤 快速找出錯誤。
  • IDEA調試技巧,簡直爽到爆
    調試,是每一個開發者必備的技能軟體調試技能是很好的區分程式設計師水平高低的一桿秤。下面為大家介紹幾個用起來爽到爆的調試技巧。0x01 條件斷點調試過程中,循環語句經常用到的一個技巧,比如:遍歷一個比較大的List的過程,想讓斷點停在某個特定值。如果你還停留在循環中間設置斷點,然後不停地下一步,下一步......那麼,請繼續看下去!
  • IDEA太難用,這幾招來幫你
    5.idea的環境配置默認保存位置1.idea的環境配置默認保存位置:C:\Users\xxxxxxxxx\.IntelliJIdea14 ,xxxxxx代表用戶目錄,2.可以對該目錄進行備份,一但環境出問題恢復此配置即可.3.可以在%IDEA_HOME%/bin/idea.properties中修改該配置路徑.