| | |
gdb - Le déboggeur GNU.
- gdb
- [-help] [-nx] [-q] [-batch] [-cd=rép]
[-f] [-b bps] [-tty=périphérique] [-s fich_symb] [-e prog] [-se prog] [-c core]
[-x cmds] [-d rép] [prog[core|ID_proc]]
Le but d'un déboggeur tel
que GDB est de vous permettre de voir ce qui se passe ``à l'intérieur'' d'un
autre programme quand il s'exécute -- ou ce qu'un autre programme faisait au
moment où il s'est crashé.
GDB peut faire quatre principaux types de choses
(en plus d'autres choses qui les aident) pour vous aider à détecter les
bogues en action :
·- Démarrer votre programme, en spécifiant tout ce qui
pourrait affecter son comportement.
·- Faire stopper votre programme sous
des conditions spécifiées.
·- Examiner ce qui s'est passé, quand votre programme
s'est arrêté.
·- Changer des choses dans votre programme, de sorte que vous
puissiez vous exercer en corrigeant les effets d'un bogue et continuer pour
en apprendre sur un autre.
Vous pouvez utiliser GDB pour débogger des programmes
écrits en C, C++, et Modula-2. Le support du Fortran sera ajouté dès qu'un
compilateur Fortran GNU sera prêt. GDB est invoqué avec la commande shell
gdb. Une fois lancé, il lit les commandes du terminal jusqu'à ce que vous
lui disiez de s'arrêter avec la commande GDB quit. Vous pouvez obtenir de
l'aide en ligne de gdb lui-même en utilisant la commande help.
Vous pouvez
lancer gdb sans arguments ni options, mais la manière la plus habituelle
de lancer GDB est de lui donner un ou deux arguments, en spécifiant le
programme exécutable comme argument :
gdb programme
Vous pouvez également le démarrer avec à la fois un programme exécutable
et un fichier core (fichier d'état de la mémoire au moment du crash) spécifiés
:
gdb programme core
Vous pouvez, à la place, spécifier un identificateur de processus en second
agument, si vous voulez débogger un processus en cours d'exécution :
gdb programme 1234
attacherait GDB au processus 1234 (à moins que vous ayez également un
fichier nommé `1234'; GDB cherche d'abord un fichier core).
Voici quelques
une des commandes GDB les plus fréquemment utiles :
- break [fichier:]fonction
- Placer un point d'arrêt sur la fonction function (dans le fichier fichier).
- run [liste_arguments]
- Démarrer votre programme (avec liste_arguments, si
spécifié).
- bt
- Backtrace: afficher la pile d'appels du programme.
- print expression
- Afficher la valeur d'une expression.
- c
- Continuer l'exécution de votre programme
(après l'avoir arrêté, par exemple suite à un point d'arrêt).
- next
- Exécuter
la ligne suivante du programme (après s'être arrêté); passer au-dessus de
tout appel de fonction dans la ligne.
- step
- Exécute la ligne suivante du
programme (après s'être arrêté);pénétrer tout appel de fonction dans la
ligne.
- help [nom]
- Affiche une information sur la commande GDB nom, ou des
informations générales sur l'utilisation de GDB.
- quit
- Sortir de GDB.
Pour
des détails complets sur GDB, voir Using GDB: A Guide to the GNU Source-Level
Debugger, par Richard M. Stallman et Roland H. Pesch. Le même texte est disponible
en ligne dans l'entrée gdb du programme info .
Tout argument autre
que des options spécifiant un fichier exécutable et un fichier core (ou
un ID de processus), çàd le premier argument rencontré sans drapeau d'option
spécifié est équivalent à une option `-se,' et le second, s'il y en a un, est
équivalent à une option `-c' si c'est le nom d'un fichier. Beaucoup d'options
ont à la fois les formes longue et courte; les deux sont montrées ici.
Les formes longues sont aussi reconnues si vous les tronquez, pour autant
qu'une partie suffisante de l'option soit présente pour éviter toute d'ambiguïté.
(Si vous préférez, vous pouvez marquer les arguments d'option avec `+' plutôt
qu'avec `-', bien que nous illustrons la convention la plus courante.) Toutes
les options et arguments de ligne de commandes sont traités dans un ordre
séquentiel. L'ordre a une importance quand l'option `-x' est utilisée.
- -help
- -h
- Lister toutes les options, avec de brèves explications.
- -symbols=fichier-s
fichier
- Lire la table des symboles à partir du fichier fichier.
- -write
- Autoriser
l'écriture dans les fichiers exécutables et les fichiers core.
- -exec=fichier-e
fichier
- Utiliser le fichier fichier comme le fichier exécutable à exécuter
quand c'est approprié, et pour examiner de simples données en conjonction
avec un déchargement de la mémoire (core dump).
- -se=fichier
- Lire la table
des symboles à partir du fichier fichier et l'utiliser comme fichier exécutable.
- -core=fichier-c fichier
- Utiliser le fichier fichier comme étant le core dump
à examiner.
- -command=fichier-x fichier
- Exécuter les commandes GDB à partir
du fichier fichier.
- -directory=répertoire-d répertoire
- Ajouter répertoire
au chemin où rechercher les fichiers sources.
- -nx
- -n
- N'exécuter de commandes
d'aucun fichier d'initialisation `.gdbinit' . Normalement, les commandes dans
ces fichiers sont exécutées après que toutes les options de ligne de commandes,
et tous les arguments aient été traités.
- -quiet
- -q
- ``Silence''. Ne pas afficher
les messages d'introduction et de copyright. Cers messages sont également
supprimés en mode non interactif.
- -batch
- Exécuter en mode non interactif.
Quitter avec la valeur de retour 0 après avoir traité tous les fichiers
de commandes spécifiés par`-x' (et `.gdbinit', s'ils ne sont pas désactivés). Quitter
avec une valeur de retour non nulle si une erreur s'est produite durant
l'exécution des commandes GDB dans les fichiers de commandes. Le mode non
interactif peut être utile pour exécuter GDB comme un filtre, par exemple
pour télécharger et lancer un programme sur un autre ordinateur; pour rendre
ceci plus utile, le message
Program exited normally. (Programme terminé normalement)
(qui est d'habitude affiché chaque fois qu'un programme s'exécutant sous le
contrôle de GDB se termine) n'est pas affiché dans le mode non interactif.
- -cd=répertoire
- Lancer GDB en utilisant répertoire en tant que répertoire
de travail, au lieu du répertoire courant.
- -fullname
- -f
- Emacs utilise cette
option quand il exécute GDB comme un sous-processus. Cela dit à GDB de sortir
le nom du fichier complet et le numéro de ligne d'une façon standard, reconnaissable,
à chaque fois qu'un cadre de pile est affiché (ce qui inclut toutes les
fois où le programme s'arrête). Cette forme reconnaissable ressemble à deux
caractères` 32' , suivis du nom du fichier, du numéro de ligne et de la position
du caractère séparés par des deux-points, et un saut de ligne. Le programme
d'interface Emacs-vers-GDB utilise les deux caractères` 32' comme un signal
pour afficher le code source du cadre.
- -b bps
- Règler la vitesses de la ligne
(bauds ou bits par seconde) de toute interface sérielle utilisée pas GDB
pour le déboggage à distance.
- -tty=périphérique
- Exécuter en utilisant périphérique
pour l'entrée et la sortie standard de votre programme.
l'entrée
`gdb' dans le fichier info; Using GDB: A Guide to the GNU Source-Level Debugger,
Richard M. Stallman et Roland H. Pesch, July 1991.
Copyright (c) 1991
Free Software Foundation, Inc.
L'autorisation est donnée de créer et de distribuer
des copies textuelles de ce manuel, à condition que la notice de copyright
et la notice de permission soient préservées dans toutes les copies.
L'autorisation
est donnée de copier et distribuer des versions modifiées de ce manuel
sous les conditions de copie textuelle, à condition que l'entièreté du travail
dérivé résultant soit distribuée sous les termes d'une autorisation identique
à celle-ci.
L'autorisation est donnée de copier et distribuer des traductions
de ce manuel dans n'importe quel autre langue, sous les conditions ci-dessus
pour les versions modifiées, sauf que cette notice de permission peut être
incluse dans des traductions approuvées par la Free Software Foundation
au lieu de l'anglais originel.
Frédéric Delanoy, 2000.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |