pdbwhereami
Zweck
Dies ist ein Hilfsmodul, das beim Debuggen von Python-Quellen mit den folgenden Funktionen hilft
- whoami
- whereami
- Wer hat mich angerufen?
- genanntBaum
- whosdaddy
Wo wird es verwendet?
Dieses Modul hilft Entwicklern in mehrfacher Hinsicht, insbesondere wenn es um das Debuggen und Warten von Code geht. Hier sind die Hauptvorteile:
1. Debugging:
-
Fehler identifizieren: Wenn ein Fehler auftritt, kann die Kenntnis der genauen Zeilennummer und der Datei den Zeitaufwand für die Suche nach der Ursache erheblich reduzieren. Durch den Aufruf dieser Funktionen in Fehlermeldungen können Entwickler schnell feststellen, wo ein Problem aufgetreten ist.
-
Rückverfolgbarkeit: Durch Protokollierung der Zeilennummer und des Dateinamens können Entwickler den Ausführungspfad des Programms nachverfolgen, insbesondere wenn es um komplexe Codebasen oder Projekte mit mehreren Dateien geht.
2. Protokollierung:
-
Detaillierte Protokolle: Durch die Einbeziehung von Zeilennummern und Dateinamen in Protokollmeldungen wird ein detaillierter Kontext bereitgestellt, sodass Protokolle informativer und leichter zu interpretieren sind.
-
Automatisierte Überwachung: In großen Systemen können automatisierte Überwachungstools diese Details verwenden, um bestimmte Teile des Codes zu kennzeichnen, die häufig Probleme verursachen, und so die proaktive Wartung zu unterstützen.
3. Behauptungen und Debug-Builds:
-
Behauptungen: Die Verwendung von Makros wie „sert()“ zusammen mit „whoami“, „whereami“, „whocallme“, „calledtree“ und „whosdaddy“ hilft beim Erkennen logischer Fehler während der Entwicklung. Wenn eine Behauptung fehlschlägt, werden die Zeilennummer und der Dateiname ausgegeben, was das Debuggen erleichtert.
-
Bedingte Kompilierung: Bei Debug-Builds können mithilfe dieser Makros zusätzliche Diagnoseinformationen eingebunden werden, ohne dass sich dies auf die Release-Builds auswirkt.
4. Dokumentation und Wartung:
-
Codeüberprüfungen: Bei Codeüberprüfungen können detaillierte Fehlerprotokolle den Prüfern helfen, den Ablauf zu verstehen und potenzielle Problembereiche effizienter zu identifizieren.
-
Wartung: Für eine langfristige Wartung helfen detaillierte Fehlerberichte mit Zeilennummern und Dateinamen neuen Entwicklern, Probleme zu verstehen und zu beheben, ohne dass tiefe Kenntnisse mit der gesamten Codebasis erforderlich sind.
Durch die Nutzung von Whoami, Whereami, WhoCalledMe, CalledTree und WhosDaddy können Entwickler robusteren, wartbareren und leichter zu debuggenden Code erstellen.
Wie benutzt man es?
from pdbwhereami import whoami, whereami, whocalledme, calledtree, whosdaddy
def debug_utility():
whoami()
whoami("I am in test_whoami function")
print()
whereami()
whereami("I am in test_whereami")
whereami(obsolete_path = True)
whereami(path_depth=6)
print()
whocalledme()
whocalledme(obsolete_path = True)
whocalledme(path_depth=6)
print()
calledtree()
tstr = calledtree(verbose=False)
print(tstr)
calledtree(tree_depth=1)
calledtree(tree_depth=2)
print()
whosdaddy()
debug_utility()
Ausgabe
[debug_utility] ->
[debug_utility] -> I am in test_whoami function
[whereami/main.py:71]:debug_utility ->
[whereami/main.py:72]:debug_utility -> I am in test_whereami
[/home/bhagavan/whereami/main.py:73]:debug_utility ->
[/home/bhagavan/whereami/main.py:74]:debug_utility ->
[whereami/main.py:93]:<module> ->
[/home/bhagavan/whereami/main.py:93]:<module> ->
[/home/bhagavan/whereami/main.py:93]:<module> ->
#1[/home/bhagavan/whereami/main.py:84]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--
#1[/home/bhagavan/whereami/main.py:85]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--
#0[/home/bhagavan/whereami/main.py:87]:debug_utility <--
#1[/home/bhagavan/whereami/main.py:88]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--
[<module>] ->
Installation
Pip verwenden
pip install pdbwhereami
Quellen nutzen
git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
Das obige ist der detaillierte Inhalt vonPython-Debugging-Dienstprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn