[armedbear-devel] How to use ABCL's debugger

David C Wang davidcw at MIT.EDU
Mon May 16 21:42:48 UTC 2011


Thanks for the tip! That'll make it a LOT easier to debug. = )

I'm in a research group at MIT developing automated planning
algorithms. We've used AllegroCL for a long time, but we're finding
more and more of a need to integrate our Lisp code base with Java.
ABCL has a very nice Lisp-Java interface that we're leveraging so we
don't have to read/write files or use a TPC/RPC/messaging interface.

- David W.


Quoting Erik Huelsmann <ehuels at gmail.com>:

> Hi David,
>
> On Mon, May 16, 2011 at 8:35 PM, David C Wang <davidcw at mit.edu> wrote:
>> I recently started using ABCL, and until now I've been able to use it
>> fine through the Emacs/Slime interface.
>>
>> I'm now trying to use ABCL directly from the command line, but I have
>> no idea what the debugger commands are.
>> Once a runtime error occurs and I am offered the list of possible
>> restarts, how do I check the current frame and step through the
>> backtrace?
>
> :bt <num> lists the last <num> frames in the stack. These additional
> commands are available:
>
> D:\abcl\abcl-j>abcl
> Armed Bear Common Lisp 0.26.0-dev-svn-13273:13274M
> Java 1.6.0_20 Sun Microsystems Inc.
> Java HotSpot(TM) Client VM
> Low-level initialization completed in 1.434 seconds.
> Startup completed in 5.417 seconds.
> Type ":help" for a list of available commands.
> CL-USER(1): :help
>
>  COMMAND     ABBR DESCRIPTION
>  apropos     ap   apropos
>  bt               backtrace n stack frames (default 8)
>  cd               change default directory
>  cf               compile file(s)
>  cload       cl   compile and load file(s)
>  continue    cont invoke restart n
>  describe    de   describe an object
>  error       err  print the current error message
>  exit        ex   exit lisp
>  frame       fr   set the value of cl:* to be frame n (default 0)
>  help        he   print this help
>  inspect     in   inspect an object
>  istep       i    navigate within inspection of an object
>  ld               load a file
>  ls               list directory
>  macroexpand ma   macroexpand an expression
>  package     pa   change *PACKAGE*
>  pwd         pw   print current directory
>  reset       res  return to top level
>  rq               require a module
>  trace       tr   trace function(s)
>  untrace     untr untrace function(s)
>
> Commands must be prefixed by the command character, which is ':' by default.
>
>> Is there documentation on this somewhere? Or, can someone tell me what
>> some of the basic commands are?
>
> The documentation (as terse as it is) is under :help :-)
>
> The way to select a specific restart is by entering its number.
>
>> I'm running the latest ABCL on Fedora 14 x64.
>
> I hope you like it. If you don't mind me asking: what are you
> (planning to) using ABCL for? Scripting language? Main language? Which
> area of application? I'm always interested to hear people's stories
> about their ABCL experience.
>
>
> Bye,
>
> Erik.
>






More information about the armedbear-devel mailing list