GDB-11.2

Introduction à GDB

GDB, le débogueur du projet GNU, permet de voir ce qu'il se passe « à l'intérieur » d'un autre programme, pendant qu'il s'exécute — ou ce que faisait un autre programme au moment où il a planté. Notez que GDB est plus performant quand les programmes et les bibliothèques tracées sont construits avec les symboles de débogage et qu'ils n'ont pas été nettoyés.

This package is known to build and work properly using an LFS-11.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : https://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.xz

  • Téléchargement (FTP) : ftp://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.xz

  • Somme de contrôle MD5 : 433bd0904caa31c247b1b1867f2f911d

  • Taille du téléchargement : 21 Mo

  • Estimation de l'espace disque requis : 674 Mo (plus 729 Mo pour la doc, plus 538 Mo pour les tests)

  • Estimation du temps de construction : 1,8 SBU (avec parallélisme = 4 ; plus 0,5 SBU pour la doc et 30 SBU pour les tests)

Téléchargements supplémentaires

Dépendances de GDB

Dépendance à l'exécution recommandée

Facultatives

Doxygen-1.9.3, GCC-11.2.0 (ada, gfortran et go sont utilisés pour certains tests), Guile-3.0.8, Python-2.7.18, rustc-1.58.1 (utilisé par certains tests), Valgrind-3.18.1 et SystemTap (dépendance d'exécution, utilisé pour les tests)

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/gdb

Installation de GDB

Tout d'abord, appliquer des changements en amont pour corriger des problèmes avec glibc-2.35 :

patch -Np1 -i ../gdb-11.2-upstream_fixes-1.patch

Installez GDB en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

../configure --prefix=/usr          \
             --with-system-readline \
             --with-python=/usr/bin/python3 &&
make

Éventuellement, pour construire la documentation de l'API en utilisant Doxygen-1.9.3, lancez :

make -C gdb/doc doxy

Pour tester les résultats, lancez :

pushd gdb/testsuite &&
make  site.exp      &&
echo  "set gdb_test_timeout 120" >> site.exp &&
runtest
popd

Voir gdb/testsuite/README et TestingGDB. Il y a plein de problème avec la suite de tests :

  • Des répertoires propres sont requis si vous relancez les tests. Pour cette raison, il est recommandé de créer une copie du répertoire des codes sources compilés avant les tests au cas où vous devriez relancer les tests.

  • Les résultats dépendent des compilateurs installés.

  • Quelques tests supposent les le fichier d'en-tête <sys/sdt.h>, faisant partie de SystemTap est présent.

  • Une tentative de lancer la suite de tests a eu 1700 échecs inattendus (sur plus de 80 000 tests). Plus de 1370 échecs sont liés aux tests FORTRAN.

  • Sur certains systèmes, la suite de tests gdb.tui échouera si elle est lancée via SSH.

  • Sur certains systèmes AMD, plus de 200 tests supplémentaires ont échoués à cause d'une différence dans l'implémentation du parallélisme sur ces CPU.

Maintenant, en tant qu'utilisateur root :

make -C gdb install

Si vous avez construit la documentation de l'API, c'est maintenant dans gdb/doc/doxy. Vous pouvez l'installer (en tant qu'utilisateur root) :

install -d /usr/share/doc/gdb-11.2 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-11.2

Explication des commandes

--with-system-readline : Ce paramètre force GDB a utiliser la copie de Readline installée dans LFS.

--with-python=/usr/bin/python3 : ce paramètre force GDB à utiliser Python 3. Supprimez-le si vous avez installé Python-2.7.18 et souhaitez l'utiliser à la place de Python 3.

Contenu

Programmes installés: gcore, gdb et gdbserver
Bibliothèque installée: None
Répertoires installés: /usr/{include,share}/gdb and /usr/share/doc/gdb-11.2

Descriptions courtes

gcore

génère un « core dump » d'un programme en cours d'exécution

gdb

est le débogueur GNU

gdbserver

est un serveur distant pour le débogueur GNU (il permet de déboguer des programmes depuis une autre machine)

Last updated on