2006/12/20, Dave Roberts <dave@...>:
> 1. I get a backtrace that simply consists of calls to "LAMBDA". This
> makes it tremendously difficult sometimes to determine where, exactly,
> my code has bombed out.
Hmm, that means all functions which are called are "anonymous".
Typically this happens with closures created automatically by some
expansion code. I seem to recall that CLOS methods do name the LAMBDA
forms that they create, so I cannot really tell. A simple reproducible
example would be nice.
> 2. How can I get local variable information for each call frame? When I
> select a call frame in the Slime Debugger's Backtrace list, I get
> "SWANK-BACKEND:FRAME-LOCALS not implemented". There are three possibile
> reasons for this that I can think of:
> A. Swank just needs to implement this. The support is all there on
> ECL's side, but Swank just hasn't taken advantage of it yet.
> B. ECL doesn't provide the hooks necessary for Swank to get that
> information, so there can't be further implementation in Swank until ECL
> provides the appropriate hooks.
It's more like B. It's probably a matter of one week sitting down and
figuring out what Swank expects from the debugger. ECL already has a
programatical way to access the lisp stack and the list of called
functions, but the output has to be filtered and formatted
appropiately for Slime.
Dpto. de Fisica Teorica I, Fac. de CC Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 2804 (Spain)