2011-01-09 2 views
4

저는 (내 초보자) 내 Lisp 코드 (Common Lisp, Steel Bank, SLIME)를 디버깅하고 있습니다.SB-KERNEL : 두 개의 ARG - 디버거 백 트레이스에서 사용하면 어떤 의미입니까?

내 역 추적의 첫 번째 프레임은 다음과 같습니다

0: (SB-KERNEL:TWO-ARG-> 1 NIL) 

내 질문은 :

  • 정확히 "SB-커널 : TWO-ARG"무엇을/체크 뜻을 /합니까?
  • 어디에서 온라인으로 직접보아야합니까? (나는 그것을 찾으려고 노력했지만 다른 백 트레이스 출력에서보다 그것에 대한 참조를 찾을 수 없습니다).

답변

5

프레임에서 "v"를 사용하여 디버거에서 함수의 정의로 이동할 수 있습니다.

이 경우 함수 sb-kernel:two-arg->>의 특수 버전처럼 들립니다.이 버전은 정확히 두 개의 인수가있을 때 호출됩니다. 인수가 1과 NIL이면 NIL이 숫자가 아니기 때문에 오류가 발생합니다.

연습하고 질문하는 것 외에는 어떻게 생각하는지 모르겠습니다.

+0

나는 "오류 : /usr/share/sbcl-source/src/code/numbers.lisp의 쓰기 - 날짜를 찾지 못했습니다."라는 사실을 알게되었습니다. 실제로는 numbers.lisp이 내 컴퓨터에 존재하지 않습니다. . – Joel

+1

소스에서 SBCL을 빌드하고 설치하는 것이 쉬운 방법입니다. – Xach

관련 문제