使用STEP时在SLIME中评估表达式

时间:2013-07-25 15:02:30

标签: debugging common-lisp slime sbcl

我正在使用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中同时逐步执行该功能以获得此功能?

1 个答案:

答案 0 :(得分:2)

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

相关问题