通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。
通常,当我们在遍历一个比较大的集合或数组时,在循环内设置了一个断点,难道我们要一个一个去看变量的值?那肯定很累,说不定你还错过这个值得重新来一次。
1、在断点上右键直接设置当前断点的条件,如图6.1,我设置exist为true时断点才生效。
[图6.1]
2、点击View Breakpoints (Ctrl + Shift + F8),查看所有断点。
Java Line Breakpoints 显示了所有的断点,在右边勾选Condition,设置断点的条件。
勾选Log message to console,则会将当前断点行输出到控制台,如图6.3。
勾选Evaluate and log,可以在执行这行代码是计算表达式的值,并将结果输出到控制台。
[图6.2]
[图6.3]
3、再说说右边的Filters过滤,这些一般情况下不常用,简单说下意思。
Instance filters:实例过滤,输入实例ID(如图6.5中的实例ID),但是我这里没有成功,不知道什么原因,知道的朋友留个言。
Class filters:类过滤,根据类名过滤,同样没有成功....
Pass count:用于循环中,如果断点在循环中,可以设置该值,循环多少次后停在断点处,之后的循环都会停在断点处。
[图6.4]
[图6.5]
4、异常断点,通过设置异常断点,在程序中出现需要拦截的异常时,会自动定位到异常行。
如图6.6,点击+号添加Java Exception Breakpoints,添加异常断点。然后输入需要断点的异常类,如图6.7,之后可以在Java Exception Breakpoints里看到添加的异常断点。
我这里添加了一个NullPointerException异常断点,如图6.8,出现空指针异常后,自动定位在空指针异常行。
[图6.6]
[图6.7]
[图6.8]