0
我正在使用SLIME和SBCL。通常在SBCL中,我可以做(step (call-some-function 1 2 3))
,並且我將能夠遍歷/進入/退出每行代碼,以及執行我自己的任意表達式以查看某些變量的當前狀態。在使用STEP時評估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中同時執行該函數以獲取此功能?
我對有同樣的問題有模糊的記憶,但我不記得我是如何處理它的,如果有的話。如果不是'(步驟...)'你在函數定義上做了'C-u C-c C-c',是否會發生同樣的事情? – 2013-07-25 16:41:52
嗯...那現在不起作用:)必須是一些貢獻的圖書館/我用了大約一年前的東西,而且沒有更多。無論如何,另一件事情在我腦海中爆發:你是否優化了調試?我認爲一些調試信息可能會在默認設置下丟失。 – 2013-07-25 17:26:39
@wvxvw感謝您的回覆!不幸的是,我已經設置調試到最大('(sb-ext:restrict-compiler-policy'debug 3)')並沒有什麼改變:( – wrongusername