Debugging von Python-Programmen in emacs

Wie kann man Python-Programme in emacs debuggen?

Ich benutze python-mode.el

Ich bekomme Referenz wie Import pdb; Pdb.set_trace ();

Aber nicht sicher, wie man es benutzt

3 Solutions collect form web for “Debugging von Python-Programmen in emacs”

Geben Sie Mx cd , um das Verzeichnis an den Speicherort des Programms zu ändern, das Sie debuggen möchten. Typ Mx pdb . Sie werden mit Run pdb (like this): pdb . Geben Sie den Namen des Programms ein (zB test.py ).

(Pdb) Eingabeaufforderung (Pdb) help , wie Sie pdb verwenden können.

Alternativ können Sie auch setzen

 import pdb pdb.set_trace() 

Direkt in deinem Programm (zB test.py ). Mx shell nun Mx shell , um eine Shell-Eingabeaufforderung zu erhalten. Wenn Sie Ihr Programm ausführen, werden Sie in pdb an der Stelle, wo pdb.set_trace() ausgeführt wird, pdb.set_trace() .

Für mich musste ich den Standard "pdb" durch ersetzen

 python -m pdb myscript.py 

Das realgud Paket (erhältlich von MELPA) unterstützt PDB (unter einem gazillion anderen Debugger) und hat eine Vielzahl von ordentlichen Features, die Emac's PDB nicht hat.

Die, die ich am besten mag, ist der Shortkeys-Modus. Sobald Sie mit dem Debuggen eines Programms beginnen, können Sie n , s , c usw. direkt im Quellfenster drücken, anstatt diese Befehle im PDB-Puffer einzugeben. Es unterstützt auch Visual-Studio-Keybindings mit Funktionstasten ( f10 , f11 , f5 , etc).

Nach der Installation von RealGUD musst du Mx load-feature realgud , um es zu laden, und du kannst pdb mit Mx realgud:pdb .

  • Wie exportiere ich eine Variable vom PDB?
  • Pdb in Emacs, um Python-Prozess von aktuellen virtualenv zu verwenden
  • Wie man sublimierte Plugins während der Entwicklung debuggt
  • So führen Sie mehrzeilige Anweisungen in Pythons eigenem Debugger (PDB) aus
  • Verwenden Sie ipdb statt pdb mit py.test --pdb Option
  • Speichern Sie die Haltepunkte in Datei
  • Holen Sie sich die letzte Ausnahme in pdb
  • Wie ändere ich einen Wert beim Debuggen von python mit pdb?
  • Wie kann ich das pdbtrack python Debugging in emacs 24.x Shell aktivieren?
  • Zwei verschiedene Werte für dieselbe Variable "args"
  • Ipdb und Methodenunterlagen
  • Python ist die beste Programmiersprache der Welt.