程式設計人員調試代碼經常使用到斷點,但很多人可能沒有使用過條件斷點,那麼什麼時候會需要用到條件斷點呢?
1、for循環比較次數比較多,想讓for循環停在指定的第幾次循環處
2、想在大家同時運作的代碼環境上自己調試,還不影響别人的通路
這時候就可以選擇使用條件斷點了,條件斷點,顧名思義就是滿足一定的條件,斷點才會啟用。
以下以Eclipse為例,詳細介紹下條件斷點的設定方法:
1、示例代碼:
class Person{
public String firstName;
public String lastName;
public int age;
public Person(String firstName, String lastName, int age){
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
}
public class Test11{
public static void main(String args[]){
Person people[] = new Person[]{
new Person("Ted", "Neward", 41),
new Person("Charlotte", "Neward", 41),
new Person("Michael", "Neward", 19),
new Person("Matthew", "Neward", 13)
};
for(Person p : people){
System.out.println(p);
}
}
}
2、斷點設定:
2.1 在for循環内部打一個斷點,然後在斷點上右擊,點選彈出框最下部的“breakPoint properties”
2.2 如下圖所示,選中Conditional, 這時預設Suspend when true 單選按鈕會選中,就是當條件為true時斷點會停住
2.3 在下方的空白處像輸入條件Conditional, 可以像寫java代碼一樣友善,還有提示資訊:
3、斷點調試
輸入完條件,點選儲存按鈕儲存,然後就可以像平時一樣開始debug代碼了, 隻是你的斷點隻有在滿足條件時才會停住,像下面這樣,看下面的控制台,第一條不符合條件的資料已經列印出來了,停在了p.age=13的記錄上,是不是很友善!趕快用起來吧,條件斷點的Conditional表達式還支援複雜的組合,就像在代碼中寫 if()條件的表達式一樣就行了。