Débogage d'un code python 1/2
Définition :
Un débogueur permet d'exécuter le code ligne par ligne. A chaque ligne on peut avoir accès aux valeurs des variables.
L'usage du débogueur permet de comprendre la logique d'une fonction, d'un code ou d'une structure de contrôle... Il permet aussi les erreurs de logiques dans le script.
Exemple :
On veut déboguer le code suivant :
#!/usr/bin/python
# -*- coding utf-8
"""
Utilisation du debogeur pdb de python
"""
def fct_add(val_op1, val_op2):
"""
cette fonction additionne deux nombres
paramètres
------------
val_op1 : int
val_op2 : int
valeur de retour
------------
int égal à la somme des deux nombrs
"""
val = val_op1 - val_op2
return val
if __name__ == '__main__':
ma_val1 = int(input("Première valeur "))
ma_val2 = int(input("Seconde valeur "))
resultat = fct_add(ma_val1, ma_val2)
print("Votre résultat est", resultat)
On enregistre le programme précédent dans le dossier c :/tmp. On lance l'invite de commande de Windows. On entre les commandes suivantes dans l'invite de commande :
python -m pdb c:\tmp\pdb_ex1.py
Le débogueur est lancé et s'arrête avant la première ligne du programme à exécuter.
On peut exécuter les 4 premières lignes du programme en entrant 4 fois la lettre n suivie de la touche Entrée (ou Rc) dans la console python.
On peut avoir la valeur des variables en entrant simplement leur nom dans la console. S'il y a une ambiguïté entre le nom de la variable et une commande du débogueur, le nom de la variable doit être précédé d'un point d'exclamation ( ! )
La fin du programme est atteinte lorsque --Return-- s'affiche.
On peut entrer 2 fois la lettre n suivie de la touche Entrée (ou Rc) dans la console python pour relancer le débogueur avec le même programme.
