Hilfe mit Lisp Debugger

9

Ich versuche zu verstehen, wie man die Ausgabe des Lisp Debuggers interpretiert und benutzt.

Ich habe ein ziemlich einfaches Backtrace für die Auswertung meiner Funktion, aber ich kann nicht herausfinden, wie man es benutzt, um herauszufinden, in welcher Lisp 'Form' in meiner Funktion die Ausnahme aufgetreten ist.

>

Ich würde mich über Hinweise freuen, was ich tun sollte, um herauszufinden, wo in meinem Code der Fehler entstanden ist.

Auch - warum wird der zweite Frame als "keine Debug-Informationen für Frame verfügbar" angezeigt?

Ich habe einen Screenshot mit dem Debugger angefügt, und repl (ich habe auch meine Funktion darunter eingefügt - ich weiß, dass es sehr falsch ist - aber ich bin nur daran interessiert zu lernen, den Debugger richtig zu verwenden). Zusätzlich habe ich 'v' auf dem ersten Frame gedrückt, um zur Quelle zu gehen, aber dies führte zu dem Fehler unter dem repl. (BEARBEITEN - das fehlende Quellcode-Problem wird durch Herunterladen und Kopieren in den richtigen Pfad behoben)

(schreckliche Funktion - keine Kommentare bitte!)

%Vor%     
Joel 09.01.2011, 17:49
quelle

1 Antwort

4

Der Fehler ist mit > und Sie haben nur ein > in Ihrer Quelle, so dass das Problem dort ist.

bearbeiten Integrierte CL-Funktionen sind sehr anfällig für die Optimierung in SBCL, also obwohl der Funktionsaufruf in Ihrem Code CL:< ist, der Code, der tatsächlich aufgerufen wird (und der in der Debugger) von einer optimierten, spezifischen SBCL-internen Routine. Dies ist weniger ein Problem für benutzerdefinierte Funktionen, wo Sie viel eher einen nützlichen Rahmen erhalten werden.

    
Xach 09.01.2011 17:53
quelle

Tags und Links