Le débogage ne doit pas être une réflexion après coup après le déploiement d'une application en production. Il doit être effectué aussi fréquemment que possible pendant le développement, car cela facilite le suivi des bogues de code et donne aux développeurs un correctif au problème qui empêche leur code de s'exécuter. La plupart des développeurs ne savent pas que la fonction d'impression de Python ne fournit pas l'image exacte des erreurs qui se produisent lors du développement. Alors, que pouvez-vous utiliser pour identifier et corriger ces erreurs ? La réponse est des outils de débogage ! Ils améliorent la productivité et contribuent à rendre le processus de codage efficace.
Le débogueur Python (pdb) est un débogueur de code source interactif pour les programmes Python. Au-delà du débogage, il fournit des fonctionnalités supplémentaires telles que la définition de points d'arrêt conditionnels, la progression dans le code source ligne par ligne et la vérification des variables sur une ligne particulière et sa pile d'appels.
Cet article explique comment l'outil de débogage, pdb
, est utilisé pour inspecter et analyser votre code afin de le rendre conforme aux normes de l'industrie pendant les tests et avant l'expédition aux utilisateurs.
Pour comprendre le processus de débogage, vous devez avoir :
Pour déboguer correctement votre code Python, vous devez connaître les conseils suivants pour améliorer la productivité et la vérification des erreurs :
name = 'teri print(name)
Console
Dans cette section, vous allez tester un code Python à l'aide du débogueur Python, pdb
. Pour parcourir le code et résoudre les erreurs telles qu'elles se produisent en temps réel dans un environnement interactif.
Le module pdb
intégré fait partie de la bibliothèque standard fournie par Python lors de l'installation sur votre outil de travail. Cet outil vous donne plusieurs autres commandes que vous pouvez utiliser lors du test de votre programme. Écrivons une fonction en utilisant pdb. Créez un nouveau fichier app.py
ou tout autre nom de votre choix dans votre éditeur de code, se terminant par l'extension .py
.
import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 10))
Le code ci-dessus effectue les opérations suivantes :
pdb
multiply_number
avec deux paramètres, num1
et num2
set_trace
, qui est utile dans l'objet pdb
car elle met votre programme en pause et passe en mode débogueur qui vous permet de taper et de tester votre code dans la console
L'exécution de ce programme avec la commande python3 <name-of-file.py>
entre dans le débogueur, où nous pouvons passer plusieurs commandes de débogage pour parcourir le code. Vérifier la
Essayons ensuite quelques commandes dans la console :
Taper a ou args liste tous les arguments utilisés dans la fonction courante, multiplier_nombre.
Avant d'essayer une autre commande, mettez à jour le code dans le fichier app.py pour inclure la chaîne dans l'argument, afin que les programmes génèrent des erreurs lors de l'exécution :
# app.py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 'execute'))
Relancez le programme avec la commande python3 app.py :
Tapez num1
et num2
dans la console, il affiche le résultat des arguments passés dans la fonction multiplier_nombre.
D'autres commandes que vous pouvez essayer incluent l'étape suivante, continuer, etc., qui se trouvent dans la documentation.
Enfin, une fois que pdb
a identifié l'erreur dans le code et le numéro de ligne qu'elle s'est produite, vous pouvez revenir à votre code et le nettoyer en corrigeant l'erreur et en utilisant le bon argument pour que le programme s'exécute.
Remarque : Le module pdb
est destiné aux tests pendant le développement, et non à la production. Retirez-le avant le déploiement.
Cet article vous guide pour adopter les meilleures pratiques lorsque vous essayez de corriger le code et d'identifier les erreurs. L'utilisation de la méthode est meilleure que la fonction d'impression car elle possède de nombreuses autres fonctionnalités pour vous aider à améliorer la qualité de votre code.