4.10 Single Stepping
SBCL includes an instrumentation based single-stepper for compiled
code, that can be invoked via the step
macro, or from within
the debugger. See Debugger Policy Control, for details on enabling
stepping for compiled code.
Compiled code can be unsteppable, partially steppable, or fully steppable.
- Unsteppable
- Single stepping is not possible.
- Partially steppable
- Single stepping is possible at sequential function call granularity:
nested function calls cannot be stepped into, and no intermediate
values are available.
- Fully steppable
- Single stepping is possible at individual function call argument
granularity, nested calls can be stepped into, and intermediate values
are available.
— Macro:
common-lisp:step form
The form is evaluated with single stepping enabled. Function calls
outside the lexical scope of the form can be stepped into only if the
functions in question have been compiled with sufficient debug
policy
to be at least partially steppable.