[slime-devel] SLIME debugger and local vars

Lynn Quam quam at ai.sri.com
Thu Nov 18 18:35:30 UTC 2004


I have been using the SLIME debugger extensively with CMUCL and
ALlegro 6.0.  I find the SLIME debugger to be a big improvement over
the "native" Lisp debuggers.  One of the biggest improvements is
having a uniform debugger and inspector interface for the different
Lisps.

Here is my question:

In Allegro, with 

   (declaim (optimize (safety 3)(space 1)(speed 2)(debug 2)))

I find that most of the local variables are available in the SLIME
debugger, but that the variable names are lost.  The debugger prints
something like:

  13: ((METHOD INTERSECT-CURVE-WITH-DTM ...)
      Locals:
        TERRAIN-MODEL = #<NON-LINEAR-MAPPED-REGULAR-GRID-TERRAIN-MODEL @ #x2059e39a>
        CURVE-FN = #<Closure (:INTERNAL (METHOD INTERSECT-CAMERA-RAY-WITH-TERRAIN-MODEL ...))>
        S0 = 1.0
        SEMI-INFINITE-P = T
        SYSTEM-TOOL::START = T
 
        EXCL::|local-0| = ...
        EXCL::|local-1| = ...
        EXCL::|local-2| = ...
        ...

I tried (debug 3), but that didn't appear to help.  Is this because
the symbol names are not available, or because the debugger cannot
figure out the assiciation between the stack locations and the local
variables?

In CMUCL with

   (declaim (optimize (safety 3)(space 1)(speed 2)(debug 9/4)))

I find that most local variable values print as :<NOT-AVAILABLE> in
the SLIME debugger.  The debugger prints something like:

  10: ((METHOD CME::INTERSECT-CURVE-WITH-DTM ...)
      Locals:
        PCL::.KEY. = :<NOT-AVAILABLE>
        PCL::.PV-CELL. = (#(1 2) . #())
        PCL::.PV. = :<NOT-AVAILABLE>
        PCL::.REST-ARG. = (:SEMI-INFINITE-P T)
        PCL::.SLOTS0. = :<NOT-AVAILABLE>
        CURVE-FN = #<Closure Over Function "DEFMETHOD INTERSECT-CAMERA-RAY-WITH-TERRAIN-MODEL ...>
        DEFAULT-Z = :<NOT-AVAILABLE>
        DTM-TO-LVCS-TRANSFORM = :<NOT-AVAILABLE>
        FUNCTION = :<NOT-AVAILABLE>

I tried:

   (declaim (optimize (safety 3)(space 0)(speed 0)(debug 3))), 

but that didn't appear to help. What is the problem?





More information about the slime-devel mailing list