爲了調試sbcl內部,我試圖跟蹤sbcl內部包。跟蹤內部sbcl包導致控制堆棧溢出
例如我試圖
(trace "SB-IMPL")
這將導致一個控制堆棧溢出。我嘗試在啓動SBCL時更改控制堆棧大小 啓動選項,但沒有更改。
另外,我還試圖修改使用功能:(僅片段)
(setf (symbol-function s)
#'(lambda (&rest args)
;do something
;invoke original function
;do something more))
下DO-所有符號
只屬於指定的包符號。
我仍然遇到溢出錯誤。以上代碼顯示綁定堆棧耗盡 錯誤。可能有人可以解釋如何控制綁定堆棧大小?
另外,如果有人可以指出如何改變內部的SSBCL函數定義,而他們編譯也可以很好?在這種情況下,我可以使用 這個技巧來從源代碼重新編譯SBCL。
謝謝塞繆爾。是的,你對循環依賴關係是正確的。我也被sbcl-devel指出,儘管你已經用實際的功能來解釋它。是的,我確實啓用了顯示功能,並且打印出有關內部工作的有用信息。但我想整個豬羣,還有什麼比追蹤整個包裝更好的方法。我現在可以進行一些挖掘,並且可能通過有效內部包函數的代碼啓用/禁用跟蹤。再次感謝。 –