我正在使用粘液和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中的函数同时单步执行该函数以获得此功能?
发布于 2014-05-19 02:43:29
当放置在调试器中时,您仍然可以在SLIME中使用REPL,我通常会这样做,例如当发生错误时。您只需切换到REPL缓冲区并键入。它最初不会显示提示,但一旦您给它一个初始表单,它就会显示提示。
https://stackoverflow.com/questions/17861689
复制相似问题