[developers] Help getting started debugging the logon system in Allegro Common Lisp

W.P. McNeill (UW) billmcn at u.washington.edu
Sat May 16 02:31:51 CEST 2009


I'm trying to debug Lisp code in the Logon system.  I know how to use the
debugging-by-printing method, but it would be more effective to step through
the code line by line.  I'm trying to figure out how to do this.
I know next to nothing bout Lisp and am stumped as to what to type at the
REPL prompt.  I've done a lot of Googling for references about Lisp
debugging, but there doesn't appear to be a canonical source or a standard
way that debugging works.
I know no one has the time to teach me Lisp, but if someone could respond
with a link to a webpage with good info or some hints on what to type next
it would help me a lot.  Here is what I've done so far.

   1. Start the logon system inside of emacs.
   2. Added a (break) command to the top of the lisp function I want to step
   through.
   3. Called (load ...) on the source file into which I inserted the break.
   4. Run the function.

I am dropped into a debugger prompt.

Break: call to the `break' function.

Restart actions (select using :continue):
 0: return from break.
 1: Return to Top Level (an "abort" restart).
 2: Abort entirely from this (lisp) process.
[1c] TSNLP(12): help
Error: Attempt to take the value of the unbound variable `HELP'.
  [condition type: UNBOUND-VARIABLE]


Now I'm stumped as to what to type next.  I can do :bt to get a stack.

1c] TSNLP(5): :bt
Evaluation stack:

SUMMARIZE-FOLDS <-
  EVAL <- TPL:TOP-LEVEL-READ-EVAL-PRINT-LOOP <-
TPL:START-INTERACTIVE-TOP-LEVEL


(to see any ghost frames, the disassembler must be loaded)


But my attempts to run other commands (including getting a help menu for
this prompt) have failed.  You'd think it would be easy to Google-up
instructions on what to do at this point, but I haven't found a definitive
source.  Can someone tell me how to:

   1. Do basic command line actions from this prompt: backtrace, list
   source, step, next, set breakpoints, and evaluate variables.
   2. Select the numbered options that show up in this menu.

A pointer to a good Lisp debugging page would probably do the trick for me.

Thanks.
-- 
W.P. McNeill
http://staff.washington.edu/billmcn/index.shtml
Sent from Seattle, WA, United States
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.delph-in.net/archives/developers/attachments/20090515/27a93325/attachment.html>


More information about the developers mailing list