Information

Pathway Tools Overview
Academic Download

Publications
Release Note History
Contributions
Pathway Tools Blog
Technical Datasheet
Contact Us

Technical Specs

Web Services
Pathway Tools APIs
Installation Guide
Ontologies
Operations
File Formats

Support

Submitting Bug Reports
Tutorials
User Forum / FAQ
User Group Meetings
Webinars
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