调试Lisp和SLIME,错误"无法找到源位置"

Rus*_*bot 5 lisp emacs sbcl common-lisp slime

我写了错误的代码.

例:

(print (/ 1 0))
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Cc Cc进行编译.并使用堆栈帧捕获错误.

我想在代码中看到发生错误的行.在堆栈框架中单击"v"并捕获错误.

Error: Cannot find source location for: #<COMPILED-CODE-LOCATION 
(SB-C::VARARGS-ENTRY /)>  
Run Code Online (Sandbox Code Playgroud)

我怎样才能在我的代码中找到该行?

截图: 在此输入图像描述

Vse*_*kin 6

从错误中可以看出,您要跳转到的行是包中的某个位置SB-C,它是SBCL的一部分.如果你没有SBCL源(你已经安装了二进制文件或删除它们),你应该得到它们(与你当前的SBCL版本相关),然后将它们链接起来.sbclrc(根据http://www.cliki .net/SLIME%20特征):

(setf (logical-pathname-translations "SYS") 
      '(("SYS:SRC;**;*.*.*" #P"/opt/sbcl/src/**/*.*")
        ("SYS:CONTRIB;**;*.*.*" #P"/opt/sbcl/contrib/**/*.*")))
Run Code Online (Sandbox Code Playgroud)

或者只是从源代码编译SBCL,它会知道它们在哪里.