Brechen Sie an eine member-Funktion in der Python-debugger

Sollte dies eine triviale Frage, aber meine Suche war bisher fruchtlos:

Ich bin mit dem Python-debugger (pdb) zum ersten mal, und war sehr erfreut zu finden, die meisten Befehle, bekannt aus der Verwendung von gdb.

Allerdings, wenn ich ging, um einen Haltepunkt in der analysieren () - member der Klasse JamParser mit der Aussage:

(Pdb) b JamParser.parse
*** The specified object 'JamParser.parse' is not a function
or was not found along sys.path.

Ich versuchte mehrere verschiedene Varianten, einschließlich:

(Pdb) b jam2dot.py:JamParser.parse

Ich gehe davon aus, dass da rief ich den debugger aus der Befehlszeile, er kennt die Personen in der Datei. Ist das eine falsche Annahme?

Den Dokumentation sagt, dass die Pause nehmen kann, eine Funktion als argument, aber bietet keine syntax-Hilfe. Also wie setze ich einen Haltepunkt für eine member-Funktion von Namen?

  • WENN Sie Zugang zu der Quelle, die ich in der Regel fallen eine import pdb; pdb.set_trace() wo ich will, anstatt durch den Schritt mit dem debugger.
  • Jetzt bin ich ein bisschen mehr erlebt, ich habe erkannt, dass der Wert von deinem Vorschlag, danke.
  • Du bist herzlich willkommen. Ich lernte diesen trick von einem Haufen von Python-Profis auf PyCon vor zwei Jahren. 🙂
Schreibe einen Kommentar