3.2 Entering and exiting the Debugger
3.2.2 Reading the Debugger display
When you enter the Debugger, a message is displayed that describes the signaled error and the options you can use to proceed. The display normally describes the type of error that occurred, the function that was active when the Debugger was invoked, the current values of the arguments passed to that function, and options to proceed. For an interpreted function, the message also displays the function's source code. For example, entering the name of an unbound symbol invokes the Debugger and displays a message similar to the following:
> test
;; condition description
>>Error: The symbol TEST has no global value.
SYMBOL-VALUE: ; current function
Required arg 0 (S): TEST ; argument description
:C 0: Try evaluating TEST again ; option descriptions
:A 1: Abort to Lisp Top Level
-> ; the Debugger prompt
The Debugger display gives you the following information:- The condition description gives a short explanation of the type of error that was signaled. In this example, the error is a reference to an unbound symbol,
test
. - The current function identifies the function that was being executed when the error was signaled. Here the current function is the Common Lisp function
symbol-value
, which returns the value binding of a symbol. - The argument description shows the arguments to the current function. Arguments are numbered beginning with 0. In this example, the function
symbol-value
has one required argument, the symbol whose value it is trying to return. - The option description shows the options to proceed with the current evaluation. In this example, the first option is to continue the incomplete evaluation by typing either the Debugger command
:c
or the command0
. The second option is to return to the Lisp top level by typing either the Debugger command:a
or the command1
. - The Debugger prompt (
->
) indicates that the Debugger is waiting for you to enter a Debugger command or an expression to be evaluated. Anything you type at the Debugger prompt that is not a Debugger command is evaluated in the context of the current environment; thus, you can continue entering and evaluating forms just as you would at the top-level prompt.
You can modify the Debugger display by using the following variables, which control the length and level of printing in the Debugger:
*debug-print-length*
*debug-print-level*
The User's Guide - 9 SEP 1996 Generated with Harlequin WebMaker