编程人员调试代码经常使用到断点,但很多人可能没有使用过条件断点,那么什么时候会需要用到条件断点呢?
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()条件的表达式一样就行了。