When a breakpoint with a conditional expression is set at a particular program statement, the executing program will be suspended and the debugger will be activated whenever that program statement is about to be executed. The following will then occur:
- The condition is evaluated; the evaluation always takes place in the environment and language of the program statement. If the condition is false and the Else action list has not been specified, program execution continues. If the condition is false and the Else action list has been specified, the Else action list is executed and program execution continues. If the condition is true, the debugger performs the following actions:
- The breakpoint counter is incremented.
- If the Ignore flag is on for this breakpoint, execution continues.
- If the skip count for this breakpoint is non-zero, the count is decremented and execution continues. However, the skip count for an Ignored breakpoint is not affected.
- The debugger reports an announcement of the breakpoint.
- If an action list is specified, it is executed. The action list may specify that program execution is to continue.