[net.lang.lisp] Debugging in lisp

albert@kim.berkeley.edu (Anthony Albert) (04/14/86)

I am interested in finding out what strategies people have for debugging
lisp programs. I am planning to add to Franz Lisp the capability to use
techniques which are presently not available.

As an example, I'll give my techniques. If it is not obvious from the
break message what the error is, I use showstack. If it looks as though
examining the state of the stack will give an answer, I'll try debug.
If the functions are small enough, trace may be useful.
Otherwise I use step. For me, step is the ultimate tool. But there are
several problems with stepping. First it is slow. The computations them-
selves are slowed down when stepping is enabled. Second, many constructs
such as loop macros become hard to understand and tedious to step through
as they are expanded. Third, the facilities available for stepping are
primitive, e.g., it is hard to set multiple breakpoints, conditional
breaks, etc. 

I believe improvements to stepping can alleviate some of the stepping
problems above, but I am interested in finding out what other people do.
Either mail to me or post as you see fit; I'll provide a sumary of responses.
I will also post the modifications if there is interest.
				Anthony Albert
				..!ucbvax!kim!albert
				albert@kim.berkeley.edu