我正在寻找一种更好的技术来做到这一点。我的一般斗争是调试器进入太晚或太早而无法捕捉变量值的事实。
我首先尝试的是:
(loop for i from 0 to 10 do
(break))
当调试器进入中断时,我无法访问i
:(所以这是一种浪费的努力。我已经尝试过e
调试器的选项(框架中的eval),但SLIME通常只是出错,我必须重新连接到SWANK。v
或者t
不要' t 帮助,因为变量只是“不存在”。
我最终做了什么:
(loop for i from 0 to 10 do
(signal i))
这很愚蠢,但很有效,因为它放在i
了我可以在调试器中检查的帧的堆栈上。但这只是……好吧,从最糟糕的意义上来说,这是骇人听闻的。是不是有某种方法可以“观察”一个变量,或者有一种更有意义的方式来放置断点,这样我就可以在输入断点的地方看到更多的变量?