检查lisp SLIME调试器中的变量

我试图在确定的断点处检查变量的值。 这是我的简化代码:

(defun foo ()
  (maplist (lambda (var)
        (break)
        var)
      '(a b c)))

此时,粘液会进入调试模式。 所以我尝试通过按“:”或“e”键来评估,然后输入“(汽车变量)”,但是粘液继续说:

变量VAR未绑定。 [UNBOUND-VARIABLE类型的条件]

我很困惑,为什么它说这个,因为“(break)”在匿名函数内,并在“var”范围内。


这在CCL和CLisp下适用于我。 我认为这是否有效取决于你的实现,也许你的OPTIMIZE设置。 你可以尝试:

(declaim (optimize (debug 3)))

之后您必须重新编译您的代码才能生效。

或者,如果你的实现支持解释,你可以尝试一下,因为一些实现为解释提供了比编译代码更好的调试可能性。

链接地址: http://www.djcxy.com/p/55415.html

上一篇: Inspecting a variable in the lisp SLIME debugger

下一篇: Manipulating stringification of booleans