Wie hake ich Befehle an pdb über gud?

8

Ich habe begonnen, pdb über gud in Emacs 23.3 zu verwenden, wie hake ich Befehlsnachrichten, die an den Debugger aus dem Puffer gesendet werden? Ich habe den unten stehenden Ratschlag für die Verwendung mit gdb geschrieben, um den Ring von comint zu erhalten, kann aber keine entsprechende Funktion für pdb finden. Ich verwende python-mode.el als meinen Hauptmodus.

danke.

%Vor%     
elbeardmorez 06.06.2011, 20:37
quelle

1 Antwort

1

Ich denke, dass ich meine eigene Frage zu der Zeit wahrscheinlich mit ein wenig mehr Graben hätte beantworten können, aber die erste gdb-Lösung hat es an der alten Lernfront eher aus mir herausgeholt. Ich erholte mich, also ..

C-h b C-s-Haupt

Nach ein bisschen Scrollen können wir 'commint-send-input' als die Funktion identifizieren, die an den Schlüssel 'enter' gebunden ist. Wenn man sich die Quelle dieser Funktion ansieht, ist comint.el: 1765 ein Aufruf von 'run-hook-with-args' ... das ist der Punkt, an dem wir erkennen, dass es nirgendwo spezifisch 'pdb' gibt, was wir wollen.

gud ist ein generischer Wrapper, der externe Debugging-Prozesse aufruft und die Ergebnisse zurückgibt. Daher ist die Kontrolle in elisp nicht vorhanden. Es war das gleiche mit gdb, aber es gab einen netten (bereits vorhandenen) Wrapper um den externen Aufruf herum, der darauf hinwies, dass sich diese Funktion 'sauber' anfühlt.

also der hack .. gerade über 'comint-send-input' liegt 'comint-add-to-input-history' .. ganz einfach.

%Vor%

fyi, ich habe diese, um den Eingangsring für die Debugging-Sitzungen zu initiieren

%Vor%

.. und um in die History-Datei zu schreiben, wenn der Debug-Puffer gelöscht wird

%Vor%

Prost.

    
elbeardmorez 17.07.2011, 17:59
quelle

Tags und Links