Ich möchte mit Python debuggen

Es ist schön, dass Python eine Stapelverfolgung anzeigt, wenn ein Fehler auftritt, aber ich bin nicht sicher, wie viele Minuten es falsch ist.

Notieren Sie sich also, wie Sie mit einem Python-Skript debuggen.

Die folgende Site fasste es sehr einfach zusammen, aber da es keine detaillierte Erklärung zu Debugging-Begriffen gab, werde ich eine ergänzende Erklärung hinzufügen. http://racchai.hatenablog.com/entry/2016/05/30/070000

Das Debuggen in Python verwendet das pdb-Modul.

Einfach zu verwenden. Fügen Sie einfach die Zeile unten kurz vor dem zweifelhaften Ort hinzu.

import pdb; pdb.set_trace()

Wenn Sie das Skript in diesem Status ausführen, wird der interaktive Debugger an dieser Stelle gestartet. Geben Sie danach einfach den Befehl step ein und führen Sie ihn zeilenweise aus. (Dies wird als "Einstieg" bezeichnet.) Wenn Sie beim Debuggen den Inhalt einer Variablen anzeigen möchten, verwenden Sie den Befehl p. Sie können den in hoge gespeicherten Wert überprüfen, indem Sie p hoge eingeben.

Befehls-Kurzreferenztabelle

Befehl Erläuterung Bemerkungen
s(tep) Schritt ein (Zeile für Zeile ausführen) Wenn Sie während der Verarbeitung eine Funktion eingeben, wird diese auch innerhalb der Funktion zeilenweise angehalten.
n(ext) Schritt über (Zeile für Zeile ausgeführt) Führen Sie eine Zeile gleichzeitig einschließlich Funktionsaufruf aus
r(eturn) Aussteigen (in Funktionseinheiten ausführen) Ausführen, bis die Laufzeitfunktion zurückgegeben wird
l(ist) Quelle vor und nach der aktuellen Zeile anzeigen
a(rgs) Zeigen Sie die Argumente der aktuellen Funktion an
p Überprüfen Sie den Wert der Variablen p hogeVerwenden Sie wie
c(ontinue) Zum nächsten Haltepunkt ausführen

Referenzseite

http://docs.python.jp/2/library/pdb.html http://racchai.hatenablog.com/entry/2016/05/30/070000

Recommended Posts

Ich möchte mit Python debuggen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte MATLAB feval mit Python verwenden
Ich möchte ein Spiel mit Python machen
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte mit Python in eine Datei schreiben
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte Lambda mit Python auf Mac AWS!
Ich möchte ○○ mit Pandas machen
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte Daten mit Python analysieren können (Teil 3)
Ich möchte eine andere Version von Python mit pyvenv angeben
Ich möchte Daten mit Python analysieren können (Teil 1)
Ich möchte Daten mit Python analysieren können (Teil 2)
Ich möchte automatisch an Online-Kursen mit Python + Selen teilnehmen!
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte Objekte mit OpenCV erkennen
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich möchte ein Glas aus Python verwenden
Ich wollte ABC160 mit Python lösen
Ich möchte eine Python-Umgebung erstellen
Ich möchte eine Pip-Installation mit PythonAnywhere durchführen
Ich wollte ABC172 mit Python lösen
Ich habe versucht zu debuggen.
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich möchte Dunnetts Test in Python machen
Ich wollte den NOMURA Contest 2020 mit Python lösen
Ich möchte mit Python ein Fenster erstellen
Ich möchte mit Python eine E-Mail von Google Mail senden.
[Python] Ich möchte 7DaysToDie von Discord aus verwalten! 1/3
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Ich wollte Python 3.4.3 mit Homebrew + pyenv installieren
Ich möchte OREMO mit setParam sein!
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich möchte verschachtelte Dicts in Python zusammenführen
Ich möchte -inf nicht mit np.log verwenden
Ich möchte ip vrf mit SONiC verwenden
Ich möchte mit Djangos Migrate von vorne beginnen
Ich möchte die Produkte verkaufen, die ich durch Python Scraping Mercari aufgelistet habe
Ich möchte C ++ - Code aus Python-Code erstellen!
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte es mit Python Lambda Django machen, aber ich werde aufhören
Ich möchte Twitter mit Python twittern, bin aber süchtig danach
Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Stellen Sie mit Python eine Verbindung zu BigQuery her
Ich habe einen Blackjack mit Python gemacht!