5

我编写了带有错误的代码。

例子:

(print (/ 1 0))

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

我想查看代码中发生错误的行。单击堆栈框架中的在线“v”并捕获错误。

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

如何转到代码中的行?

截图在此处输入图像描述

4

2 回答 2

6

正如您从错误中看到的那样,您要跳转到的行位于 package 中的某个SB-C位置,它是 SBCL 的一部分。如果您没有 SBCL 源(您已经安装了二进制文件或删除了它们),您应该获取它们(与您当前的 SBCL 版本相关),然后.sbclrc像这样链接它们(根据http://www.cliki .net/SLIME%20Features):

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

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

于 2011-10-09T11:57:24.103 回答
0

你有 (proclaim '(optimize debug)) 在那条线上的某个地方吗?此功能将确保您的系统拥有它可以获得的所有调试数据。

于 2012-03-05T16:23:36.377 回答