pdbwhereami
But
Il s'agit d'un module utilitaire qui aide au débogage des sources Python avec les fonctions ci-dessous
- whoami
- où est-ce que tu es
- qui m'a appelé
- appeléarbre
- qui est papa
Où est-il utilisé ?
Ce module aide les développeurs de plusieurs manières clés, notamment en matière de débogage et de maintenance du code. Voici les principaux avantages :
1. Débogage :
-
Identification des erreurs : Lorsqu'une erreur se produit, connaître le numéro de ligne et le fichier exacts peut réduire considérablement le temps passé à rechercher la cause. En appelant ces fonctions dans des messages d'erreur, les développeurs peuvent rapidement identifier l'origine d'un problème.
-
Traçabilité : En enregistrant le numéro de ligne et le nom du fichier, les développeurs peuvent retracer le chemin d'exécution du programme, en particulier lorsqu'ils traitent des bases de code complexes ou des projets multi-fichiers.
2. Journalisation :
-
Journaux détaillés : L'inclusion des numéros de ligne et des noms de fichiers dans les messages de journal fournit un contexte détaillé, rendant les journaux plus informatifs et plus faciles à interpréter.
-
Surveillance automatisée : Dans les grands systèmes, les outils de surveillance automatisés peuvent utiliser ces détails pour signaler des parties spécifiques du code qui causent fréquemment des problèmes, facilitant ainsi une maintenance proactive.
3. Assertions et versions de débogage :
-
Assertions : L'utilisation de macros comme assert() avec whoami,whereami, whocallme, Calledtree et whosdaddy aide à détecter les erreurs logiques pendant le développement. Lorsqu'une assertion échoue, elle imprime le numéro de ligne et le nom du fichier, ce qui facilite le débogage.
-
Compilation conditionnelle : Pour les versions de débogage, des informations de diagnostic supplémentaires peuvent être incluses à l'aide de ces macros sans affecter les versions de version.
4. Documentation et maintenance :
-
Révisions de code : Lors des révisions de code, disposer de journaux d'erreurs détaillés peut aider les réviseurs à comprendre le flux et à identifier plus efficacement les zones problématiques potentielles.
-
Maintenance : Pour la maintenance à long terme, disposer de rapports d'erreurs détaillés avec les numéros de ligne et les noms de fichiers aide les nouveaux développeurs à comprendre et à résoudre les problèmes sans avoir besoin d'une connaissance approfondie de l'ensemble de la base de code.
En tirant parti de whoami,whereami, whocallme, Calledtree et whosdaddy, les développeurs peuvent créer un code plus robuste, plus maintenable et plus facile à déboguer.
Comment l'utiliser ?
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()
sortir
[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
Utiliser pip
pip install pdbwhereami
Utilisation des sources
git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn