如何在eclipse中快速debug到想要的參數條件場景下


前言

俗話說,工欲善其事必先利其器。

對於我們經常使用的開發工具多一些了解,這也是對我們自己工作效率的一種提升。

場景

作為開發,我們經常會遇到各種bug,大部分的bug很明確,我們直接可以打斷點定位到。

但是有的情況下,我們的斷點可能在某個循環中~而且這種循環量有點大,如果手動F8一直等到自己想要的參數出現,然后再詳細查看每個參數的值,這個未免有些麻煩。

這個時候呢~brakpoint properities就派上用處了

用法

1     public static void main(String[] args) 
2         {
3             for(int i=0;i<10000;i++)
4             {
5                 count++;
6                 //do~something~ 假設這里還有很多參數,以及一些業務的處理
7             }
8             System.out.println(Thread.currentThread().getName() + "最終count>>>"+count);
9         }

 

首先在我們確認需要打斷點的地方,手動打上斷點,如上代碼,很簡單的一個方法,我們在第5行打上斷點,我們想查看循環到第100次的時候參數值的情況,這個怎么辦?肯定不能手動F8一百次吧!

 

 第一種,切換eclipse到debug模式,然后找到當前斷點,右鍵,選擇“brakpoint properities” 菜單,勾選hit count 設置數值為100 這樣當這行代碼被執行第一百次的時候,會停下來,然后我們就可以慢慢查看具體的各個參數情況了。如下圖所示:

 

 

     第二種,設置條件表達式,我們要找到count 等於100 的情況,這個時候我們勾選conditional 選項 然后在下放的文本域中 輸入條件 “count == 100 ” 和java代碼寫法一樣,只要表達式返回的是boolean值就可以。另外,假如我們的參數條件可能不止count一個 

     我們可以直接在 count == 100 后面拼接其他的參數條件,比如 “ count == 100 || count == 500 && xxxargs > 0  ”這種形式也是可以的。

 

    第三種,同時勾選hit count 和 conditional ,這個時候要特別注意,雖然是多選框~但是 2個的條件是 與 的關系,不是 或 的關系。 也就是在滿足 第一個hit count數同時滿足第二個條件才會停下來。

    按照我們的前面的代碼,如果將hit count設置為100,同時將conditional 設置為 count == 100 這個時候是不會有任何停留,因為當前者滿足的時候,后者才等於99。這個時候我們需要將count數設置為101 或者將

    表達式改為  count == 99 ,這樣才同時滿足。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM