The Debug > Stepper menu offers fine control over the next step.
It also includes commands for setting breakpoints, displaying the source code, macroexpansion, and aborting from the current step.
All these commands are also available on the Stepper toolbar as shown in The Stepper controls.
Figure 25.3 The Stepper controls
The Stepper controls operate as described below. Recall that the current position is always highlighted in orange:
Steps once, remaining inside the current form. At the start of the current form, this steps the first inner form. At a function call, it steps to the value. At the form value, it steps the next form or value.
Steps once. This is the same as Step above, except that at a function call, it steps that function if the source is known.
At the start of a form, steps to the function call of that form after evaluation of the arguments. At a function call or at the end of a form, steps to the function call of the enclosing form.
At the start or function call of a form, steps to the value of that form. At the end of a form, steps to the value of the enclosing form.
Steps to the start of the next form, or behaves like Step if there is no next form.
Steps to the value of the current function.
Steps to the cursor position, or displays a message if that position is not steppable.
Runs the code until a breakpoint is reached.
Sets a breakpoint at the position of the cursor if there is no breakpoint there already and the position is steppable. If there is a breakpoint under the cursor, this command removes it. Note that breakpoints are highlighted red, though the orange highlight on the current stepping position overrides any breakpoint highlight..
Moves the editor buffer in the source area so that the definition at the top of the backtrace area, and the active form within it, is visible.
Macroexpands the form under the cursor.
Collapses the macroexpansion under the cursor.
Aborts the execution and returns to the form which you first stepped, allowing you to repeat the execution or edit the form. This command is available only when using the Stepper in standalone mode.
The Breakpoint Options menu allows you to set properties of a breakpoint as described in Breakpoints.