Breakpoint editing

In all flat views ( feature flat view and class flat view ), a margin is displayed on the left of the editor. Breakpoints are symbolized there as circles, with different looks depending on their state: enabled ( ), disabled ( ) or not set ( ). A small question mark in the circle ( , ) indicates conditional breakpoints .

Right-clicking on any breakpoint pops up a context menu:

The first line provides the breakpoint slot index of the selected breakpoint (i.e: the one used in call stack or exception trace output).
Clicking one of the three first entries of the context menu changes the state of the breakpoint that was right-clicked. The last entry (Run to This Point) launches the debugged application so that it will stop as soon as the selected breakpoint is encountered, as if the breakpoint had been enabled.

"Edit This Breakpoint" allows you to edit the parameters of the breakpoint (condition, hit count, when hits actions...) through the breakpoint dialog. On the first tab, Context, the breakpoint dialog provides access to the associated tags, condition, and hit count control. And on the second tab, it allows you to associate When hits... action(s) with the breakpoint.

Context tab Context tab When hits ... action tab When hits... tab

Tags allow you to identify a collection of breakpoints, either from the breakpoints tool , or in the parameters of "When hits .." actions.
Any existing breakpoint can be referenced by an implicit tag with the form: "'bp:cluster.{CLASS}.feature@index" (cluster is not mandatory).

Sample: A sample breakpoint tag: "bp:elks.{LINKED_LIST}.extend@2"

  • the "Condition" allows you to set a condition for stopping.
  • the "Hit count" allows you to set a condition on hitcount for stopping.
  • And the "When Hits..." allows you to associate specific actions with the breakpoint:
    • Print message: display the expanded message to the output (there are predefined variables, and you can also evaluate expressions).
    • Disable/Restore Assertion Checking: this might be useful to deactivate assertion checking on a specific part of the execution.
    • Record Execution: start or stop the execution recording (cf: Execution recording and replay )
    • Enable/Disable Breakpoints: either use tags or implicit tags (ex: "bp:elks.{LINKED_LIST}.extend@2"), to reference a set of existing breakpoints. This can be pretty useful to enable a breakpoint only if the execution takes a specific execution path.
    • Reset Hits count

"Edit Condition" allows you to set a condition for stopping, it opens the same dialog as "Edit This Breakpoint", but focus on the "condition" field.

"Hit count" allows you to set a condition on hitcount for stopping

"When hits ..." allows you to perform an action, print a message for example, when execution stops on this breakpoint.

See Also: Breakpoint commands, Breakpoint information command