The CMU Common Lisp debugger is unique in its level of support for source-level debugging of compiled code. Although some other debuggers allow access of variables by name, this seems to be the first Common Lisp debugger that:
The debugger is an interactive command loop that allows a user to examine the function call stack. The debugger is invoked when:
Note: there are two debugger interfaces in CMU CL: the TTY debugger (described below) and the Motif debugger. Since the difference is only in the user interface, much of this chapter also applies to the Motif version. See section 2.7.1 for a very brief discussion of the graphical interface.
When you enter the TTY debugger, it looks something like this:
The first group of lines describe what the error was that put us in the debugger. In this case car was called on 3. After Restarts: is a list of all the ways that we can restart execution after this error. In this case, the only option is to return to top-level. After printing its banner, the debugger prints the current frame and the debugger prompt.Error in function CAR. Wrong type argument, 3, should have been of type LIST.Restarts: 0: Return to Top-Level.
Debug (type H for help)
(CAR 3) 0]