zion - gdb
Nom
gdb - Le débogueur GNU.
Résumé
.na
gdb [ -help ] [ -nx ] [ -q ] [ -batch ] [ -cd=c répc
] [ -f ] [ -b c bps ] [ -tty=c périphérique ] [ -s c fich_symbc ] [ -e c progc ] [ -se c progc ] [ -c c corec ] [ -x c cmdsc ] [ -d c répc ] [ c progc [ c core | ID_proc c ] ] .ad b |
Description
Le but d'un débogueur 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 (em& 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 en appui) pour vous aider à prendre les bogues sur le fait :
(bu Démarrer votre programme, en spécifiant tout ce qui pourrait affecter son comportement. |
(bu Faire stopper votre programme lors de conditions spécifiées. |
(bu Examiner ce qui s'est passé, quand votre programme s'est arrêté. |
(bu Changer des choses dans votre programme, de sorte que vous puissiez expérimenter en corrigeant les effets d'un bogue et poursuivre en étudiant un autre. |
Vous pouvez utiliser GDB pour déboguer 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 c gdbc &. Une fois lancé, il lit les commandes du terminal jusqu'à ce que vous lui disiez de s'arrêter avec la commande GDB c quitc &. Vous pouvez obtenir de l'aide en ligne de c gdbc & lui-même en utilisant la commande c helpc &. Vous pouvez exécuter c gdbc & sans arguments ni options, mais la manière la plus habituelle de lancer GDB est de lui fournir un ou deux arguments, en spécifiant un programme exécutable comme argument : gdb programme Vous pouvez également le démarrer en spécifiant à la fois un programme exécutable et un fichier core (image de la mémoire au moment du crash) : gdb programme core Vous pouvez, au lieu de cela, spécifier un identificateur de processus en second argument, si vous voulez déboguer un processus en cours d'exécution : gdb programme 1234 attacherait GDB au processus c 1234c & (à moins que vous ayez également un fichier nommé « c 1234c » ; GDB cherche d'abord un fichier core). Voici certaines des commandes GDB les plus utiles :
[b]break [fichier:]fonction[/b]
& Placer un point d'arrêt sur la c fonctionc & (dans le c fichierc &). |
run [liste_arguments]
Démarrer votre programme (avec lac liste_argumentsc &, si elle est spécifiée). |
bt
Backtrace : afficher la pile d'appels du programme. |
print expressionc
& 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 c au-dessus dec & tout appel de fonction présent dans la ligne (de code). |
step
Exécute la ligne suivante du programme (après s'être arrêté) ; c pénétrerc & tout appel de fonction présent dans la ligne. |
help [nom]
Afficher des informations sur la commande GDB c nomc &, ou des informations générales sur l'utilisation de GDB. |
quit
Quitter GDB. |
Pour des détails complets sur GDB, voyez c Using GDB: A Guide to the GNU Source-Level Debuggerc &, par Richard M. Stallman et Roland H. Pesch. Le même texte est disponible en ligne dans l'entrée c gdbc & du programme c infoc & .
Options
Tout argument autre que des options spécifiant un fichier exécutable et un fichier core (ou un ID de processus), c.-à-d. le premier argument rencontré sans drapeau d'option spécifié est équivalent à une option « c -sec, » et le second, s'il y en a un, est équivalent à une option « c -cc » ²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 « c +c » plutôt qu'avec « c -c », bien que nous n'illustrions que la convention la plus courante.) Toutes les options et arguments de ligne de commandes fournis sont traités dans un ordre séquentiel. L'ordre a une importance quand l'option « c -xc » est utilisée.
-help[/col][/row][/table]
-h
Lister toutes les options, avec de brèves explications. |
-symbols= fichierc[/col][/row][/table]
-s fichierc
& Lire la table des symboles à partir du c fichierc &. |
-write
Autoriser l'écriture dans les fichiers exécutables et les fichiers core. |
-exec= fichierc[/col][/row][/table]
-e fichierc
& Utiliser le fichier c fichierc & comme le fichier exécutable à exécuter quand c'est approprié, et pour examiner des données pures conjointement avec une image mémoire (core dump). |
-se= fichierc
& Lire la table des symboles à partir du fichier c fichierc & et l'utiliser comme fichier exécutable. |
-core= fichierc[/col][/row][/table]
-c fichierc
& Utiliser le c fichierc & comme image mémoire à examiner. |
-command= fichierc[/col][/row][/table]
-x fichierc
& Exécuter les commandes GDB provenant du c fichierc &. |
-directory= répertoirec[/col][/row][/table]
-d répertoirec
& Ajouter c répertoirec & au chemin de recherche des fichiers sources. |
-nx[/col][/row][/table]
-n
N'exécuter aucune commande provenant d'un fichier d'initialisation « c .gdbinitc ». Normalement, les commandes présentes dans ces fichiers sont exécutées après que toutes les options de ligne de commandes et tous les arguments ont été traités. |
-quiet[/col][/row][/table]
-q
« Silence ». Ne pas afficher les messages d'introduction et de copyright. Ces messages sont également supprimés en mode non interactif. |
-batch
Exécuter en mode non interactif. Quitter avec la valeur de retour c 0c & après avoir traité tous les fichiers de commandes spécifiés par « c -xc » (et « c .gdbinitc », 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 exécuter un programme sur un autre ordinateur ; pour rendre ceci plus utile, le message Program exited normally (Programme terminé normalement) (qui est d'habitude émis lorsqu'un programme s'exécutant sous le contrôle de GDB se termine) n'est pas émis dans le mode non interactif. |
-cd= répertoirec
& Lancer GDB en utilisant c répertoirec & en tant que répertoire de travail, au lieu du répertoire courant. |
-fullname[/col][/row][/table]
-f
Emacs utilise cette option quand il exécute GDB comme un sous-processus. Elle indique à 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 « c 032c », 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 « c 032c » comme un signal pour afficher le code source du cadre. |
-b bpsc
& Régler le débit de la ligne (bauds ou bits par seconde) de toute interface sérielle utilisée pas GDB pour le débogage à distance. |
-tty= périphériquec
& Exécuter en utilisant c périphériquec & pour l'entrée et la sortie standard de votre programme. |
Voir aussi
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, juillet 1991.
Copying
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, mis à part que cette notice de permission peut être incluse dans des traductions approuvées par la Free Software Foundation au lieu de l'anglais originel.
Traduction
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.
Poster un commentaire