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
six-1.12.0 (module Python 3, requis à l'exécution
pour utiliser des scripts GDB de divers paquets de LFS et BLFS avec
le Python 3 installé dans LFS)
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