GNU Debugger

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir GDB.
Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ne cite pas suffisamment ses sources (septembre 2012).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

image illustrant un logiciel libre
Cet article est une ébauche concernant un logiciel libre.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

GNU Debugger
Logo

Démarrage de gdb.
Démarrage de gdb.

Développeur Projet GNU
Dernière version 7.11 ()[1]Voir et modifier les données sur Wikidata
Environnement Systèmes : GNU/Linux, FreeBSD, NetBSD, OpenBSD, GNU, UNIX. Architectures : Alpha, ARM, H8/300, System/370 et System 390, x86 et x64, IA-64, Motorola 68000, Microblaze, MIPS, PA-RISC, PowerPC, SuperH, SPARC, VAX
Type Débogueur
Licence GNU GPL
Site web (en) Site officiel

GNU Debugger, également appelé gdb, est le débogueur standard du projet GNU. Il est portable sur de nombreux systèmes type Unix et fonctionne pour plusieurs langages de programmation, comme le C, le C++ et le Fortran. Il fut écrit par Richard Stallman en 1988. gdb est un logiciel libre, distribué sous la licence GNU GPL.

Histoire[modifier | modifier le code]

GDB a été écrit en premier par Richard Stallman en 1986 en parallèle de son système GNU, après que GNU Emacs soit "stable" de manière raisonnable. GDB est un logiciel libre sorti sous Licence publique générale GNU (GPL). Il a été modelé d'après le débogueur DBX, qui était avec la distribution Unix de Berkeley.

De 1990 à 1993 il a été maintenu par John Gilmore. Maintenant, il est maintenu par le comité de direction GDB qui a été créé par la Free Software Foundation[2].

Historique des mises à jours[modifier | modifier le code]

   3 Octobre 2003: GDB 6.0
   27 Mars 2008: GDB 6.8
   6 Octobre 2009: GDB 7.0
   18 Mars 2010: GDB 7.1
   2 Septembre 2010: GDB 7.2
   26 Juin 2011: GDB 7.3[3]
   24 Janvier 2012: GDB 7.4
   26 Avril 2012: GDB 7.4.1
   17 Août 2012: GDB 7.5
   29 Novembre 2012: GDB 7.5.1
   26 Avril 2013: GDB 7.6
   30 Août 2013: GDB 7.6.1
   8 Décembre 2013: GDB 7.6.2
   6 Janvier 2014: GDB 7.7
   29 Juillet 2014: GDB 7.8
   20 Février 2015: GDB 7.9
   28 Août 2015: GDB 7.10
   5 Décembre 2015: GDB 7.10.1

Caractéristiques[modifier | modifier le code]

Gdb fonctionne sur de nombreuses architectures de processeur différentes, et permet le débogage distant (par l'intermédiaire d’une liaison série ou d’une connexion IP) d’application tournant sur une plateforme cible distincte de la plateforme de développement. Ceci éventuellement sur deux types de processeurs différents.

Gdb permet de déboguer un programme en cours d’exécution (en le déroulant instruction par instruction ou en examinant et modifiant ses données), mais il permet également un débogage post-mortem en analysant un fichier core qui représente le contenu d’un programme terminé anormalement.

Interfaces utilisateur[modifier | modifier le code]

L’interface de gdb est une simple ligne de commande, mais il existe des applications frontales qui lui offrent une interface graphique beaucoup plus conviviale. L’utilitaire ddd par exemple permet de cliquer sur une ligne de code directement dans le listing pour y placer un point d’arrêt alors que gdb seul nécessite la saisie du numéro de ligne. Notons également que gdb est souvent invoqué en arrière-plan par les environnements de développement intégré comme Eclipse[4].

Exemples de commandes[modifier | modifier le code]

gdb program debug "program" (du shell)
run -v démarre le programme chargé avec les paramètres
bt backtrace (dans le cas où le programme crashe)
info registers vide(dump) tous les registres
disas $pc-32, $pc+32 disassemble

Bibliographie[modifier | modifier le code]

  • (en) Richard Stallman, Roland Pesch, Stan Shebs et al, Debugging with GDB : The GNU Source-Level Debugger, Free Software Foundation, , 10e éd., 616 p. (ISBN 978-0-9831592-3-0)
  • (en) Arnold Robbins, GDB Pocket Reference, O'Reilly Media, , 1e éd., 78 p. (ISBN 978-0-596-10027-8)

Sur les autres projets Wikimedia :

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. https://www.gnu.org/software/gdb/download/ANNOUNCEMENT
  2. (en) « GDB Steering Committee » (consulté le 11 mai 2008)
  3. (en) « GDB News », Gnu.org (consulté le 17 juillet 2013)
  4. (en) Norman Matloff et Peter Jay Salzman, The Art of Debugging with GDB, DDD and Eclipse, No Starch Press, , 264 p. (ISBN 9781593271749).

Liens externes[modifier | modifier le code]