next up previous contents
Next: La prévention des erreurs Up: Mise au point et Previous: Correction des erreurs de

Erreurs à l'exécution - le debugger

L'homme vit comme s'il ne devait jamais mourir ; le programmeur écrit comme si ses programmes ne pouvaient avoir de bugs.

J.P. Rosen

Quand aux erreurs d'exécution, deux approches sont possibles. Si vous ne disposez d'aucun outil de mise au point (debugger), vous devrez tout d'abord rechercher l'endroit précis où le problème apparaît (arrêt de l'exécution, bouclage, valeurs intermédiaires erronées). Cette recherche peut s'effecter au moyen d'instructions d'impression judicieusement placées dans votre programme, que vous ôterez une fois la mise au point terminée.

La seconde approche consiste à utiliser un debugger. S'il est convivial et puissant, ce type d'outil peut vous faire gagner beaucoup de temps, en vous montrant par exemple l'instruction qui a fait ``planter'' votre programme, la valeur prise par telle variable à tel instant, etc.

Il existe sur les stations HP un bon debugger appellé xdb, son utilisation suppose que vous ayez compilé votre programme avec l'option -g . Pour analyser l'exécution de votre programme, lancez :

   xdb <nom-executable>

Vous pourrez ensuite contrôler l'exécution pas à pas, visionner à tout moment le contenu de chaque variable, positionner des points d'arrêt (breakpoints), etc.

Voici un abrégé des fonctions les plus utiles, grâce auxquelles on vient à bout d'une bonne proportion d'erreurs :

run ou r     lance le programme
step ou s    execute un pas de programme (entre dans les procedures)
Step ou S    execute un pas de programme (passe les procedures)
print ou p   affiche le contenu d'une variable

La commande ``help'' vous aidera à découvrir et à comprendre l'utilisation des différentes commandes.



Michel COUPRIE
Thu Sep 12 13:39:33 METDST 1996