0

我将 SLIME 与 SBCL 一起使用。通常在 SBCL 中,我可以做到(step (call-some-function 1 2 3))并且我将能够单步执行/进入/退出每一行代码,以及执行我自己的任意表达式以查看某些变量的当前状态。

但是如果我尝试在 SLIME 的 REPL 中做同样的事情,我会得到:

Evaluating call:
  (CP-GET-ALL-PE-MATCHES-ANY-LENGTH SENT-ID)
With arguments:
  581869302


   [Condition of type STEP-FORM-CONDITION]

Restarts:
 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [ABORT] Exit debugger, returning to top level.

Backtrace:
  0: (call-some-function 1 2 3)
  ...

似乎没有任何方法可以获取 的当前值sent-id或评估(nth 1 some-list)

事实是否如此,如果是这样,这是否意味着我必须在终端中启动第二个 SBCL 实例,并与在 SLIME 中同时单步执行该功能才能获得此功能?

4

1 回答 1

2

当放置在调试器中时,您仍然可以在 SLIME 中使用 REPL,我通常会这样做,例如当发生错误时。你只需要切换到 REPL 缓冲区并输入。它最初不显示提示,但一旦你给它一个初始形式,它就会显示。

于 2014-05-18T18:43:29.420 回答