Ich möchte aufhören zu versuchen, die Wurzel des Debuggens zu finden, indem ich eine print-Anweisung einfüge und sie immer wieder ausführe.
Ich werde drei Methoden vorstellen.
Wenn Sie die Zeile kennen, die Sie debuggen möchten, Fügen Sie die folgende Zeile zwischen die Zeilen ein, die Sie debuggen möchten.
from IPython.core.debugger import Pdb; Pdb().set_trace()
Das Folgende ist ein Beispiel für eine Pause, wenn "i" zu 10 wird. Sie können sicher "i = 10" sehen.
Wenn Sie Pdb starten möchten, wenn irgendwo ein Fehler auftritt.
** Wenn Sie nur auf eine bestimmte Zelle anwenden möchten **, setzen Sie die folgende Zeile an den Anfang der Zelle.
%%debug
** Wenn Sie es auf das gesamte Notebook anwenden möchten **, setzen Sie die folgende Zeile irgendwo ein.
%pdb on
# %pdb aus ← Wenn Sie den Debug-Erkennungsmodus deaktivieren möchten
Ich erhalte absichtlich einen Fehler, wenn "i == 10". Der Debugger läuft ordnungsgemäß.
Ist es nicht hier? Bitte lassen Sie mich wissen, ob es bequem ist.
Befehl | Erläuterung |
---|---|
w | Stapelverfolgung anzeigen(where) |
n | Bis zur nächsten Zeile laufen lassen(next) |
c | Setzen Sie die Ausführung bis zum nächsten Haltepunkt fort(continue) |
q | Laufen Sie bis zum Ende und beenden Sie(quit) |
d | Tauchen Sie ein in eine Funktion(down) |
u | Raus aus der Funktion(up) |
s | Bis zum nächsten Funktionsaufruf ausführen(step) |
r | Führen Sie es aus, bis die aktuelle Funktion zurückkehrt(return) |