[ Home ]
SBCL Internals

The pages on this CLiki-driven site can be edited by anybody at any time. No warranty of any kind can therefore be made; any implied warranties of merchantability or fitness for a particular purpose are expressly disclaimed
[ Home ] [ Recent Changes ] [ About CLiki ] [ Text Formatting ]

Numerous shortcomings remain as, but as of 0.8.14.13 SBCL has a working single stepper.

The stepper works by having the compiler insert STEP-CONDITION signalling forms into code compiled with high DEBUG optimization policy, and providing a handler for these.

The built-in interface can be replaced: SB-EXT:*STEPPER-HOOK* is called with each step-condition when single-stepping.

Different subtypes of STEP-CONDITION are signalled under different circumstances:

Around the signalling of STEP-FORM-CONDITION a number of restarts are established: SB-EXT:STEP-NEXT, SB-EXT:STEP-INTO, SB-EXT:STEP-CONTINUE. The stepper hook can control stepping by invoking any of these. For more details, see the source & documentation strings.

TODO aka shortcomings

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively