ACL Debugger Commands
ACL Debugger Commands
When Allegro Common Lisp (the Lisp dialect used for the Pathway Tools)
detects some sort of error, it enters Debugger mode.
Here is a sample of what is printed before the debugger is entered.
The fact that the last line begins with a number within small brackets
indicates that the debugger is active.
Error: Received signal number 2 (Keyboard interrupt)
[condition type: INTERRUPT-SIGNAL]
Restart actions (select using :continue):
0: continue computation
[1c] EC(13):
A number of special commands are available from within the debugger.
Debugger commands begin with a colon character. We list abbreviations
for these commands within parentheses.
Basic Debugger Commands
- :reset (:res) -- Exits from the debugger back to the Lisp top level
- :pop (:po) -- Finishes the current debugger level -- if you have entered the debugger when the debugger was already active, this commands pops
back to the previously entered level of the debugger.
- :continue (:cont) -- Resumes execution, assuming the error is
continuable. You can include a number, e.g., ":cont 3", to invoke the
"restart action" listed just above the debugger prompt line.
Advanced Debugger Commands
- :zoom (:zo) -- Print the execution stack
- :up/:down -- Move up or down the stack to a new frame
- :local (:loc) -- Print all local variables in the current stack frame (with no arguments), or print a specified local variable by number from the listing of all variables (e.g., :loc 2)
- :inspect (:i) -- Inspect a data structure, meaning enter the ACL inspector tool. Example:
:i * will inspect the datum returned by the previous Lisp expression
- :restart (:rest) -- Restart execution of the function at the current stack frame
- :return (:ret) -- Cause execution of the function at the current
stack frame to return a value that the user will be prompted for next
|