Skip to main content

Module breakpoint

Module breakpoint 

Source
Expand description

Breakpoints, and the two scopes they can live in.

A breakpoint belongs to a step, not to a run. Setting one through Step::set_break_on_step writes it into the step, so every execution of that sequence stops there and the setting outlives the run that set it.

Passing an execution instead scopes the breakpoint to that one run. The step on disk is untouched, and the breakpoint goes away with the execution. That is what a host debugging on behalf of a remote panel wants: a debugging session should not quietly edit the station’s sequence files.

Nothing here stops a run on its own. The engine only honors breakpoints while they are switched on, which is a separate decision made at two levels. Engine::breakpoints_enabled is the live switch for the session, and the station option of the same name is the setting written to disk. With either off, a set breakpoint stays set and is ignored.

Enums§

BreakpointScope
Which run a breakpoint applies to.