Tutorials  /  Python

Python breakpoint() Funktion

Ccentron Redaktion · Februar 2024 ·3 Min. Lesezeit ·Python, Tutorial

Python breakpoint() ist eine neue eingebaute Funktion, die in Python 3.7 eingeführt wurde. Das Debugging von Python-Code war immer ein schmerzhafter Prozess wegen der engen Kopplung zwischen dem eigentlichen Code und dem Debugging-Modulcode. Wenn Sie beispielsweise den pdb-Debugger verwenden, müssen Sie in Ihrem Programmcode pdb.set_trace() aufrufen. Wenn Sie einen anderen Debugger verwenden möchten, sagen wir web-pdb, dann müssen Sie allen Code, der mit PDB zusammenhängt, entfernen und die Methode web_pdb.set_trace() hinzufügen. Dies verursacht einen großen Mehraufwand bei der Verwendung des Python-Debuggers und macht den Python-Code schwer zu debuggen und zu warten. Deshalb hat Python 3.7 die breakpoint()-Methode eingeführt, die es uns ermöglicht, locker gekoppelten Debugging-Code zu schreiben.

Wie funktioniert Python breakpoint()

Die Python breakpoint() Funktion ruft die Funktion sys.breakpointhook() auf. Standardmäßig ruft sys.breakpointhook() die Funktion pdb.set_trace() auf. Mindestens bietet die Verwendung von breakpoint() Bequemlichkeit bei der Verwendung eines Debuggers, da wir das pdb-Modul nicht explizit importieren müssen. Lassen Sie uns ein einfaches Beispiel für die Verwendung der breakpoint() Funktion anschauen. Wir haben ein Python-Skript python_breakpoint_examples.py mit dem folgenden Code.

Python
x = 10
y = 'Hi'
z = 'Hello'
print(y)

breakpoint()

print(z)

Wenn wir dieses Skript ausführen, öffnet sich die PDB-Debugger-Konsole.

Code
$python3.7 python_breakpoint_examples.py
Hi
> /Users/pankaj/Documents/PycharmProjects/BasicPython/basic_examples/python_breakpoint_examples.py(8)()
-> print(z)
(Pdb) c
Hello
$
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Debugging stoppen mit Python breakpoint()

Die Python sys.breakpointhook() Funktion verwendet die Umgebungsvariable PYTHONBREAKPOINT, um den Debugger zu konfigurieren. Wenn sie nicht gesetzt ist, wird der Standard-PDB-Debugger verwendet. Wenn sie auf „0“ gesetzt ist, kehrt die Funktion sofort zurück und es wird kein Code-Debugging durchgeführt. Dies ist sehr hilfreich, wenn wir unseren Code ohne Debugging ausführen möchten.

Code
$PYTHONBREAKPOINT=0 python3.7 python_breakpoint_examples.py
Hi
Hello
$

Debugger-Modul ändern mit Python breakpoint()

Wir können die Umgebungsvariable PYTHONBREAKPOINT verwenden, um die Debugging-Methode anzugeben, die von der breakpoint()-Funktion aufgerufen werden soll. Dies ist sehr hilfreich, da wir das Debugger-Modul leicht ändern können, ohne den Code zu ändern. Angenommen, wir möchten den Web-pdb-Debugger verwenden. Wir können ihn einfach in unser Programm einbinden, indem wir PYTHONBREAKPOINT=web_pdb.set_trace verwenden. Zuerst stellen Sie sicher, dass Web-pdb installiert ist. Sie können es mit dem Befehl pip3.7 install web-pdb installieren.

Code
$PYTHONBREAKPOINT=web_pdb.set_trace python3.7 python_breakpoint_examples.py
Hi
2018-08-10 12:49:54,339: root - web_console:110 - CRITICAL - Web-PDB: starting web-server on pankaj:5555...

Öffnen Sie die im Konsolenprotokoll angegebene Web-Server-URL und Sie sehen das Debugger-Fenster. Wir können PDB-Befehle über diese Benutzeroberfläche ausgeben, Sie können den Befehl „c“ senden, um fortzufahren und unser Programm abzuschließen.

Zusammenfassung

Die Python breakpoint()-Funktion ist eine sehr hilfreiche Ergänzung der Python-Debugging-Funktionen. Es wird empfohlen, diese für das Debugging zu verwenden, sodass Sie problemlos andere Debugger von Drittanbietern einbinden können. Es bietet auch eine einfache Option, den Debugger zu deaktivieren und das Programm normal auszuführen.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren