Breakpoints are great. You find the section of code that you want to investigate. Click on the side of the screen to create a breakpoint. Run the code in debug and it stops where you want it.
But what if you only wanted to stop on that breakpoint sometimes.
What do you do?
Add a watch, then when the code stops at the breakpoint, look at the watch and if it is not what you want, carry on?
Well that’s one way.
The other way is a conditional breakpoint.
A breakpoint that only triggers when a certain condition is set.
Let’s have a look.
I have this test.
And it fails!
java.lang.ArrayIndexOutOfBoundsException: 16 at com.javafortesters.chap009arraysiteration.exercises. TriangleSquareExercisesDebugTest.createSquare2dArray (TriangleSquareExercisesDebugTest.java:37)
well, it fails on something when it is 16.
i==16or is it
I know. I’ll convert the breakpoint to a conditional breakpoint and find out.
To create a conditional breakpoint I simply right click on the breakpoint symbol and type in a condition.
The condition is any adhoc Java code that will compile in the context of the breakpoint, and return a
So I could make the ‘Condition’
i==15then the breakpoint should only trigger when i equals 15.
Now when the breakpoint fires, I only have to step over once to get to the point where my code throws its error.
Rather than having to step through the loop 15 times.