3.1 About the Debugger

3.1.2 The Lisp stack

The Debugger allows you to examine the state of Lisp at the point where an error occurs by providing commands to examine the Lisp stack.

The Lisp stack is an area in memory where function calls and their arguments are stored during an evaluation. The information about function calls is organized into stack frames. A normal stack frame represents a single function call along with the function's arguments and any local variables.

The stack also contains information about the current dynamic environment. This information is organized into dynamic context markers, which you can examine in the Debugger. Portions of the stack called dynamic context markers contain the information for catch special forms, special bindings, andunwind-protect forms. The Common Lispcatch andthrow special forms allow a transfer of control in which the destination is determined by the dynamic environment. The Common Lisp special formunwind-protect ensures that certain cleanup code is always executed, even if there is a throw from within the protected form of theunwind-protect to a tag outside of theunwind-protect. Special bindings are used to make new dynamic variable bindings.


The User's Guide - 9 SEP 1996

Generated with Harlequin WebMaker