Sommaire

Méthode de débogage et outil ipdb ipdb

Écrire un script sans faire d’erreurs algorithmiques est une utopie. Tout développeur commet à un moment ou à un autre une erreur qu’il faudra traquer. Pour détecter un bogue, il existe plusieurs méthodes. La plus répandue se résume certainement à décorer le script de fonctions print aux endroits opportuns. Entre chaque exécution, le programmeur bouge ses fonctions print afin de cibler l’origine du bogue. Il apparaît assez logiquement qu’une telle manipulation est fastidieuse et sous-optimale. L’utilisation d’un débogueur rend plus efficace le débogage.

Le débogueur pdb est présent dans la librairie standard de Python. Nous allons plutôt nous intéresser à l’outil ipdb qui offre un support à IPython et d’intéressantes fonctionnalités, entre autres :

  • autocomplétion

  • introspection de variables et classes

  • support des commandes magiques IPython

  • support des couleurs

Cet outil s’installe en utilisant pip :

pip install ipdb

Soit le code suivant :

x = [] 
for i in range(10): 
    x.append(i)

Pour tracer la valeur de x pendant l’exécution de ce code il suffit d’ajouter la déclaration import ipdb; ipdb.set_trace(). Cela a pour effet de lancer le débogueur : ipdb;

import ipdb; ipdb.set_trace()  # <- lance le débugger 
x = []  ...