GDB-8.1
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-8.2.
Informations sur le paquet
-
Téléchargement (HTTP) : https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz
-
Téléchargement (FTP) : ftp://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz
-
Somme de contrôle MD5 du téléchargement :
f46487561f9a16916a8102316f7fd105
-
Taille du téléchargement : 19 Mo
-
Estimation de l'espace disque requis : 494 Mo (19 Mo
supplémentaires pour les tests, 677 Mo supplémentaires pour
la documentation)
-
Estimation du temps de construction : 4.1 SBU (17 SBU
supplémentaires pour les tests et 0.7 pour la documentation)
Dépendances de GDB
Facultatives
DejaGnu-1.6.1 (pour les tests), Doxygen-1.8.14,
GCC-7.3.0
(gfortran, pour certains tests), Guile-2.2.3 (actuellement cassé), Python-2.7.14,
rustc-1.22.1 (pour certains tests), Valgrind-3.13.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 --without-guile &&
make
Facultativement, pour construire la documentation de l'API en
utilisant Doxygen-1.8.14, 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 TRANSCRIPT=y
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.
-
Environ 2-3 % des tests échouent (sur plus de 48900
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.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-8.1
Explication des commandes
--without-guile
: Ce
paramètre désactive le support de Guile car la version 2.2 a changé la manière
dont les ports en C sont supportés
--with-system-readline
: Ce
paramètre force GDB a utiliser la
copie de Readline installée dans
LFS.
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.1
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 2018-02-18 04:25:06 +0100