80%的java程序員不了解的調試技巧
今天我們來談談調試代碼的一些技巧,在使用IDE提供的debugger時一些快速定位問題的方式。
1 多線程調試
開發過多線程應用的朋友應該有體會,有些時候,為了觀察多個線程間變數的不同狀態,以及鎖的獲取等,就會想到在代碼里加個斷點debug一下。
在IDE里斷點停下來的時候,可以切換到另外的線程中,跑其他的代碼,不會互相影響。當然,這裡是有個開關的,在Eclipse里默認開啟,但是在IntelliJ IDEA里默認是沒有開啟的。也就是說如果你在IDEA里代碼里加斷點,雖然一個線程的斷了下來,但其他線程的已經執行過了。此處把線程的suspend設置成和Eclipse模式一樣之後,也可以開始多線程應用的調試。簡單設置可以直接在斷點處,將suspend改成Thread
IntelliJ IDEA里在這兒切換
我們看到main線程和pool-1-thread-1這兩個線程都處於RUNNING狀態,切換到任何一個都可以繼續運行。
2 後退執行
想要了解更多Java知識 加入學習群一四四九零一零七六 可以免費學習java還有大量學習乾貨哦
依靠後退執行的功能,可以後退,就像下棋時悔棋那種功能一樣
有了這個功能,我們在Drop 了當前這個Frame之後,已經改變的變數值不會恢復。
3 條件斷點
4 片斷代碼
然後,還可以調用對象的方法,執行功能,獲取屬性值等。
5 查看變數修改值


※開發者不容錯過的十款免費JavaScript遊戲引擎
※Java常見的面試問題,看看自己答出來多少?
※Java必看Java自學能學會嗎?
TAG:IT技術java交流 |
※一文了解Word2vec之Skip-Gram訓練網路的3種技術
※不一樣的5cm x Champion了解一下
※對 vue.js 的初步了解
※關於 Supreme 你需要了解的33件事
※從未想過New Balance 574能如此奢華!Swarovski水晶定製選項了解一下
※憋了2年,crazy light 2018兩款配色了解下?
※三星 AR Emoji vs.蘋果 Animoji,7個你應該了解的不同之處
※50 張圖讓你了解一個真實的 Hedi Slimane | 弄潮
※拍攝MV竟然被捕!關於Teka$hi 6ix9ine 你需要了解的10個事實!
※快速了解 kubernetes的ConfigMap和Secrets
※通過了解Servlet和Http之間的關係,了解web中http通信使用
※帶你了解comme des garcons的發展史
※入手新iPhone Apple Care+不了解一下?
※吳恩達deeplearning.ai五項課程完整筆記了解一下?
※可視化了解一下?ECharts 4.0最全技術攻略
※P20性能不行?華為頂尖處理器:7nm+自研GPU,Mate11了解一下!
※4000毫安的iPhone了解一下
※了解防晒霜spf30和spf50的區別 看看哪一種更加適合你
※復古時髦的精緻Vintage Girl了解下?
※深入了解 Tableau 10.5 工具提示可視化功能,實現更深層次的數據交互