All Manuals > LispWorks IDE User Guide > 20 The Listener

20.4 The debugger prompt and debugger level

When you get an error by evaluating a form in the Listener, LispWorks enters the debugger. The first debugger prompt contains a colon followed by the integer 1, indicating that Lisp is 1 level deep in the debugger.

Subsequent errors in the debugger increment the debugger level:

CL-USER 57 > (/ 1 0)
 
Error: Division-by-zero caused by / of (1 0).
  1 (continue) Return a value to use.
  2 Supply new arguments to use.
  3 (abort) Return to level 0.
  4 Return to top loop level 0.
 
Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.
 
CL-USER 58 : 1 > (/ 2 0)
 
Error: Division-by-zero caused by / of (2 0).
  1 (continue) Return a value to use.
  2 Supply new arguments to use.
  3 (abort) Return to level 1.
  4 Return to debug level 1.
  5 Return to level 0.
  6 Return to top loop level 0.
 
Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.
 
CL-USER 59 : 2 > 

After fixing the cause of an error you should exit from the debugger, for example by entering :a to invoke the abort restart. If you do not exit, then the next time you get an error you will be nested more deeply in the debugger, which is usually not desirable. Try to avoid this.

Note: If you reach debugger level 9 then LispWorks opens a console window to run the debugger (because it assumes that the IDE is broken). In this situation you can enter the :top command and then minimize the console window to restore the IDE Listener. Closing the console window will terminate LispWorks without any warning.


LispWorks IDE User Guide (Windows version) - 01 Dec 2021 19:38:05