GDB-8.3

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.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-9.0.

Informations sur le paquet

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

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

  • Somme de contrôle MD5 du téléchargement : bbd95b2f9b34621ad7a19a3965476314

  • Taille du téléchargement : 20 Mo

  • Estimation de l'espace disque requis : 630 Mo (plus 57 Mo pour les tests et 750 Mo pour la doc)

  • Estimation du temps de construction : 2.0 SBU (avec parallélisme = 4 ; plus 66 SBU pour les tests et 0.6 pour la doc)

Dépendances de GDB

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

Facultatives

DejaGnu-1.6.2 (requis pour les tests), Doxygen-1.8.16, GCC-9.2.0 (ada et gfortran sont utilisés pour certains tests), Guile-2.2.6, Python-2.7.16, rustc-1.35.0 (utilisé par certains tests), Valgrind-3.15.0 et SystemTap (dépendance d'exécution, aussi utilisé pour quelques tests)

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

Installation de GDB

Installez GDB en lançant les commandes suivantes :

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

Facultativement, pour construire la documentation de l'API en utilisant Doxygen-1.8.16, 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.

  • Il y a beaucoup de dépassement de délai (il y a une variable qui peut être initialisée pour augmenter le délai, mais la changer changera le nombre de tests lancés).

  • Il y a des échecs associés avec readline 6.x du système.

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

  • Si la suite de tests est lancée sur un CPU Intel basé sur Skylake ou plus récent, plusieurs tests échouent à cause de la suppression de la bibliothèque problématique et obsolète libmpx dans GCC.

  • Environ 1-3 % des tests échouent (sur plus de 56000 tests).

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-8.3 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-8.3

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 le Python 3 installé dans LFS. Supprimez-le si vous avez installé Python-2.7.16 et souhaitez l'utiliser à la place de Python 3.

Contenu

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

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).

libinproctrace.so

contient les fonctions pour l'agent de traçage dans les processus. L'agent autorise l'installation rapide de balises, le listage des marqueurs statiques de balises, et le démarrage de la surveillance.

Last updated on 2019-08-17 06:26:32 +0000