2011-10-09 1 views
5

버그가있는 코드를 작성했습니다.Lisp 및 SLIME 디버깅 중 오류 "소스 위치를 찾을 수 없습니다"

예 :

(print (/ 1 0)) 

것은 내가 C-C의 C-C를 컴파일하려합니다. 그리고 스택 프레임으로 오류를 잡아라.

오류가 발생한 곳의 코드를보고 싶습니다. 스택 프레임에서 줄에 'v'를 클릭하면 오류가 발생했습니다.

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

내 코드에서 어떻게 행을 사용할 수 있습니까?

스크린 샷 : 오류에서 볼 수 있듯이 enter image description here

+0

C-c C-c로 컴파일한다는 것은 무엇을 의미합니까? 그 키 조합은 slime-compile-file에 묶여 있습니까? –

+0

'C-c C-c' - 포인트에서 최상위 폼을 컴파일합니다. –

답변

6

, 당신이 이동하고자하는 라인이 어딘가 패키지 SB-C에, SBCL의 일부입니다. 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을 컴파일하면 알 수 있습니다.

+0

죄송합니다, 혼란스럽고 정확한 오류를 추가하지 않으므로 고쳐줍니다. –

+0

어쨌든 솔루션은 동일해야합니다. –

+0

.sbclrc에서 (sb-ext : set-sbcl-source-location "/ path/to/sbcl/source /") 설정하십시오. 출처 : SBCL 출처 찾기 [link] (http://xach.livejournal.com/300290.html) –

0

어딘가에 선보다 위에 (선전 (최적화 디버그)) 있습니까? 이 함수는 시스템에 모든 디버깅 데이터가 있는지 확인합니다.

관련 문제