为了调试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指出,尽管你已经用实际的功能来解释它。是的,我确实启用了显示功能,并且打印出有关内部工作的有用信息。但我想整个猪群,还有什么比追踪整个包装更好的方法。我现在可以进行一些挖掘,并且可能通过有效内部包函数的代码启用/禁用跟踪。再次感谢。 –