7

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

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

粘液此时进入调试器模式。所以我尝试通过按“:”或“e”键来进行评估,然后我输入“(car var)”,但粘液一直在说:

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

我很困惑为什么会这样说,因为“(break)”在匿名函数和“var”的范围内。

4

1 回答 1

4

在 CCL 和 CLisp 下这对我有用。我认为这是否有效取决于您的实施,也可能取决于您的OPTIMIZE设置。你可以试试:

(declaim (optimize (debug 3)))

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

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

于 2011-10-08T16:54:14.633 回答