Kleiner Kniff: Den Python Debugger mitten im Programm starten

Finden Sie sich manchmal wünschen Ihnen könnte abgestürzten Programms zu einem beliebigen Zeitpunkt einfrieren und dann prüfen, was los war interaktiv?

Das ist genau das, was der Debugger für sich, aber manchmal ist es einfach zu viel von einer die Mühe, das Programm drin laufen, müssen Sie Haltepunkte, etc. eingestellt

Nun, es ist eine wirklich einfache Alternative: Rufen Sie den Debugger von einem beliebigen Punkt in Ihrem Programm, wie dieser …

import pdb; pdb.set_trace ();

Sie können dann den Zustand des Programms (zB Einheimischen, globals).

Beachten Sie, dass viele komplexe Programme ausnutzen interpretiert Natur Python und gehen noch einen Schritt weiter, indem tatsächlich gewährt dem Benutzer eine Möglichkeit, in eine interaktive, interpretierte Python-Umgebung on-demand (zB Debugging Konsole lauscht auf einem bestimmten Port) Haken. Dies ermöglicht Ihnen, Ihr Programm, in der Regel eine lange leben Rahmen oder Dämon, von innen zu erkunden, während er ausgeführt wird.

Verdrehte bedeutet dies, zum Beispiel.