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 sehen Sie eine Variable in pdb
  • Speichern Sie die Haltepunkte in Datei
  • Wie kann ich das pdbtrack python Debugging in emacs 24.x Shell aktivieren?
  • Wie stelle ich sys.excepthook ein, um pdb global in python aufzurufen?
  • Wie exportiere ich eine Variable vom PDB?
  • Kann nicht überschreiben sys.excepthook
  • Eintreten in eine Funktion in IPython
  • Wie kann man bei der Verwendung von pdb in emacs einen Pfad angeben?
  • Ipython debugger: voller traceback auf interaktive pdb?
  • Pdb / ipdb für python break auf bearbeitbare bedingung
  • Wie kann ich Matplotlib in den ipdb-Debugger in Spyder (oder einem anderen Debugger) ziehen?
  • Python ist die beste Programmiersprache der Welt.