Debuggen mit pdb in Python

Debuggen von Python-Code mit pdb

Sie können "pdb importieren" verwenden, aber hier zeigen wir Ihnen, wie Sie debuggen, ohne Änderungen am Quellcode vorzunehmen. Es werden nur häufig verwendete Befehle behandelt.

Wie man anfängt

$ python -m pdb XXXXX.py

Oder

$ python3 -m pdb XXXXX.py

Ausführungsbeispiel

Beispiel eines auszuführenden Programms

hello.py


msg = "Hello world"

def hello(txt):
	print(txt)

hello(msg)
print("Done.")

--pdb Ausführungsbeispiel

$ python3 -m pdb hello.py
> /path/to/current/directory/hello.py(1)<module>()
-> msg = "Hello world"
(Pdb)

Wie man pdb benutzt

Sie können mit der Debugging-Arbeit fortfahren, indem Sie nach (Pdb) einen Befehl eingeben.

Befehl Funktion
b(reak) [Anzahl der Zeilen oder Funktionsname] Setzen Sie einen Haltepunkt in eine Zeile oder Funktion
c(ont(inue)) Führen Sie es aus, bis der nächste Haltepunkt erreicht ist
s(tep) Führen Sie die aktuelle Zeile aus(Stoppen Sie bei einem Funktionsaufruf)
n(ext) Führen Sie die aktuelle Zeile aus(Wenn es sich um einen Funktionsaufruf handelt, führen Sie die Funktion aus)
q(uit) Beenden Sie den Debugger

Sie können die Zeichen in Klammern im Befehl weglassen.

Ausführungsbeispiel

$ python3 -m pdb hello.py
> /path/to/current/directory/hello.py(1)<module>()
-> msg = "Hello world"
(Pdb) b 6
Breakpoint 1 at /path/to/current/directory/hello.py:6
(Pdb) c
> /path/to/current/directory/hello.py(6)<module>()
-> hello(msg)
(Pdb) s
--Call--
> /path/to/current/directory/hello.py(3)hello()
-> def hello(txt):
(Pdb) s
> /path/to/current/directory/hello.py(4)hello()
-> print(txt)
(Pdb) n
Hello world
--Return--
> /path/to/current/directory/hello.py(4)hello()->None
-> print(txt)
(Pdb) c
Done.
The program finished and will be restarted
> /path/to/current/directory/hello.py(1)<module>()
-> msg = "Hello world"
(Pdb) q
$ 

Referenz

http://docs.python.jp/3/library/pdb.html

Recommended Posts

Debuggen mit pdb in Python
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Umgang mit Sounds in Python
Scraping mit Selen in Python
Scraping mit Tor in Python
Tweet mit Bild in Python
Kombiniert mit Ordnungszahl in Python
Testen mit Zufallszahlen in Python
GOTO in Python mit erhabenem Text 3
Arbeiten mit LibreOffice in Python: Importieren
Scraping mit Selen in Python (Basic)
CSS-Analyse mit cssutils in Python
Numer0n mit Elementen, die mit Python erstellt wurden
Öffnen Sie UTF-8 mit Stückliste in Python
Verwenden Sie rospy mit virtualenv in Python3
Verwenden Sie Python in pyenv mit NeoVim
Heatmap mit Dendrogramm in Python + Matplotlib
Lesen Sie Dateien parallel zu Python
Passwort für Lehrbuch mit Python generieren
Verwenden Sie OpenCV mit Python 3 in Window
Bis zum Umgang mit Python in Atom
Beginnen Sie mit Python mit Blender
Arbeiten mit DICOM-Bildern in Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Quadtree in Python --2
Python in der Optimierung
CURL in Python
FizzBuzz in Python3
Metaprogrammierung mit Python
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Python DS-Debugging
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Scraping mit Python
Versuchen Sie, sich mit Python bei qiita anzumelden
Python3> im Schlüsselwort> Wahr mit teilweiser Übereinstimmung?
Exklusive Steuerung mit Sperrdatei in Python
Statistik mit Python
Geräteüberwachung durch On-Box Python von IOS-XE
Metaanalyse in Python
Unittest in Python
Scraping mit Python
Python mit Go
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Tipps zum Python-Debuggen
Zeichnen Sie Nozomi Sasaki in Excel mit Python
Tipps zum Umgang mit Binärdateien in Python
Zeigen Sie Python 3 im Browser mit MAMP an
Twilio mit Python
Epoche in Python
Zwietracht in Python
In Python integrieren
So arbeiten Sie mit BigQuery in Python
Trump-Klasse in Python (mit Vergleich)
Deutsch in Python
DCI in Python