Les débogueurs sont des auxiliaires précieux pour éliminer les erreurs dans les programmes.
Au premier abord, déboguer un programme consiste à l'arrêter
sous certaines conditions pour examiner l'état de la pile d'appels
et les valeurs stockées dans les variables.
On arrête l'exécution en insérant des points d'arrêt
(breakpoints). Ces points d'arrêt peuvent être inconditionnels
(ils engendrent toujours un arrêt du programme lorsqu'ils sont rencontrés)
ou conditionnels (ils arrêtent le programme seulement si une
condition est vérifiée, condition spécifiée
par l'utilisateur).
Ils permettent aussi d'analyser les fichiers core générés
lors d'un plantage.
L'utilisation d'un débogueur nécessite au moins l'ajout
des l'options -O0 et -g (-g3 recommandé)
à la compilation des fichiers sources. La première option
inhibe les optimisations et la seconde entraine l'insertion d'informations
dans l'exécutable qui permettent au débogueur de suivre les
variables locales, les numéros des lignes, etc ...
Le déboguage d'un code est préliminaire et incompatible
à toute optimisation.
Pour une liste détaillée des options conseillées
pour le déboguage, consultez la rubrique optimisation
de la page des compilateurs.
dbx est un débogueur symbolique textuel.
cvd est le débogueur de l'environnement Workshop, un
ensemble d'outils d'analyse basé sur une interface graphique sous
OpenGL.
Pour plus d'informations sur WorkShop, consultez la page des outils d'analyse .
_____________________________________
dbx mon_prog coreOn utilise la commande where au prompt qui apparait. En retour s'affiche la file d'appels des fonctions employées ainsi que le nom des fichiers sources et les numéros des lignes ou ont eu lieu ces appels :
(dbx) wheredbx travaille de manière optimale sur un code compilé avec les options -O0 et -g3. Cela a pour effet d'inhiber les optimisations et de rajouter des informations de déboguage dans le code objet. Ces informations permettent à dbx de voir les variables locales et de déterminer les numéros des lignes du source. Autrement dbx ne pourra fournir que peu d'informations.
dbx
User's Guide (sur le serveur de SGI)
_____________________________________
La plupart du travail de déboguage est effectué dans la
fenêtre principale . Elle comporte:
- un éditeur Source View,
- une barre de menus,
- un panneau de contrôle (contrôle de l'état du
processus, start, stop, ...)
- une ligne d'état,
- une ligne de commande.
Pour les options de lancement, consultez la manpage de cvd.
Developer Magic : Debugger User's Guide (sur le serveur de SGI)
Les autres outils de Developer Magic se trouvent sur la page
des outils d'analyse :
- le Build Manager : aide à la compilation;
- le Static Analyser : aide à l'analyse de programmes et à
la documentation;
- le Performance Analyser : recueil et visualisation des informations
de profilage de programmes;
- le Parallel Analyser : aide à la parallélisation automatique,
couplage avec le Performance Analyser.
_____________________________________