In einem älteren Blogbeitrag ging es um das Debugging mit breakpoint()
und dem Python Debugger (pdb). In diesem Artikel möchte ich pudb vorstellen, die visuelle Alternative zum Kommandozeilen-Tool pdb
.
Die Installation erfolgt über pip
:
$ pip3 install pudb # Linux, macOS
$ pip install pudb # Windows
Das Debugging-Tool pudb
wird ebenfalls zusammen mit der built-in Funktion breakpoint()
genutzt, dass seit Python 3.7 für das Debugging zur Verfügung steht. Damit das Zusammenspiel mit pudb
funktioniert, muss die Umgebungsvariable PYTHONBREAKPOINT
entsprechend gesetzt werden.
Linux, macOS:
export PYTHONBREAKPOINT=pudb.set_trace
Windows:
C:\> set PYTHONBREAKPOINT=pudb.set_trace # Windows
Wird jetzt im Python-Code breakpoint()
verwendet, führt das Ausführen der entsprechenden Python-Datei dazu, dass pudb gestartet wird.
#!/usr/bin/env python3
print('Enter the first number:')
first = input()
print('Enter the second number:')
second = input()
# Set a breakpoint:
breakpoint()
print(f'The sum of {first} and {second} is {first + second}.')
Angenommen voranstehender Code wurde in einer Datei mit der Bezeichnung “debug_example.py” gespeichert. Dann führt das Ausführen dieses Codes mit
$ python3 debug_example.py
dazu, dass im Terminal der visuelle Debugger pudb gestartet wird.
Wie man der Abbildung entnehmen kann, wird auf der linken Seite der Code angezeigt, während auf der rechten Seite unter anderem die Werte der verwendeten Variablen angezeigt werden.
Mit J
und K
bzw. der Pfeil-Aufwärts- und der Pfeil-Abwärts-Taste kann man durch die Code-Zeilen navigieren. Mit der Taste N
wird die aktuelle Code-Zeile ausgeführt, und C
bewirkt die Ausführung des Codes bis zum nächsten Breakpoint, der mit B
gesetzt werden könnte.
Beim erstmaligen Ausführen wird übrigens die Konfigurationsdatei “pudb.cfg” unter
.config/pudb
im eigenen Benutzerverzeichnis angelegt.
Weitere Informationen enthält die Dokumentation zu pudb.
Zuletzt aktualisiert am 18. Juli 2024