You can use breakpoints for more than just stopping code execution. JDeveloper supports advanced breakpoint actions and conditions for fine-tuning when a breakpoint is triggered and what action happens. Virtually any Boolean expression can be a breakpoint condition, and it can be applied to all threads, or a specific set of named threads.
The first of the conditional breakpoint examples in the slide breaks only when the variable value is a Date type. The second breaks only when the status is “shipped”. The third breaks only when the variable i is greater than 50. The third example (i>50) is particularly useful if you have a breakpoint inside a loop (with i as the loop variable) but you know your problem occurs only when the loop has executed a number of times.
For actions, breakpoints typically just break into the code. However you can beep, log a message or an expression result to the log console, dump the stack, or enable or disable a group of breakpoints.