Introduksjon til GDB
GDB, GNU Project debugger, lar deg
se hva som skjer “på
innsiden” i et annet program mens det kjører -- eller
hva et annet program gjorde i det øyeblikket det krasjet. Merk at
GDB er mest effektiv ved sporing
av programmer og biblioteker som ble bygget med feilsøkingssymboler
og ikke er strippet.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.1 plattform.
Pakkeinformasjon
-
Nedlasting (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-14.1.tar.xz
-
Nedlasting MD5 sum: 4a084d03915b271f67e9b8ea2ab24972
-
Nedlastingsstørrelse: 23 MB
-
Estimert diskplass som kreves: 966 MB (legg til 805 MB for
dokumenter; legg til 710 MB for tester)
-
Estimert byggetid: 2.1 SBU (legg til 0,4 SBU for dokumenter;
legg til 18 SBU for tester; alle bruker parallellisme=4)
GDB Avhengigheter
Anbefalt kjøretidsavhengighet
six-1.16.0 (Python 3 modul, kreves ved kjøring for
å bruke GDB skript fra ulike LFS/BLFS pakker med Python 3
installert i LFS)
Valgfri
Doxygen-1.10.0, GCC-13.2.0 (ada, gfortran, og go
er brukt for tester), Guile-3.0.9, rustc-1.76.0 (brukt for noen tester),
Valgrind-3.22.0, og SystemTap (kjøretid, brukt
til tester)
Installasjon av GDB
Installer GDB ved å kjøre følgende
kommandoer:
mkdir build &&
cd build &&
../configure --prefix=/usr \
--with-system-readline \
--with-python=/usr/bin/python3 &&
make
Eventuelt for å bygge API dokumentasjonen ved hjelp av Doxygen-1.10.0, kjør:
make -C gdb/doc doxy
For å teste resultatene, kjør:
pushd gdb/testsuite &&
make site.exp &&
echo "set gdb_test_timeout 120" >> site.exp &&
runtest
popd
Se gdb/testsuite/README og
TestingGDB. Det er
mange problemer med testpakken:
-
Rene mapper er nødvendig hvis du kjører testene på nytt. For
den grunnen, lag en kopi av den kompilerte kildekodemappen
før testene i tilfelle du må kjøre testene på nytt.
-
Resultatene avhenger av installerte kompilatorer.
-
En testkjøring av testpakken hadde 51 uventede feil av de
over 106 000 testene.
-
På noen systemer vil gdb.tui testpakken mislykkes hvis den
kjører over SSH.
-
På noen AMD baserte systemer, over 200 ekstra tester kan
mislykkes på grunn av en forskjell i trådimplementeringen på
disse CPUene.
Nå, som root
bruker:
make -C gdb install &&
make -C gdbserver install
Hvis du har bygget API dokumentasjonen, er den nå i gdb/doc/doxy.
Du kan installere den (som root
bruker):
install -d /usr/share/doc/gdb-14.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-14.1
Parameterforklaringer
--with-system-readline
:
Denne bryteren tvinger GDB å bruke
kopien av Readline installert i
LFS.
--with-python=/usr/bin/python3
: Denne
bryteren tvinger GDB å bruke
Python 3.
Innhold
Installerte Programmer:
gcore, gdb, gdbserver, and
gdb-add-index
Installert Bibliotek:
libinproctrace.so
Installerte Mapper:
/usr/{include,share}/gdb and
/usr/share/doc/gdb-14.1
Korte Beskrivelser
gcore
|
genererer en kjernedump av et program som kjører
|
gdb
|
er GNU Debugger
|
gdbserver
|
er en ekstern server for GNU debugger (den tillater
programmer å feilsøkes fra en annen maskin)
|
gdb-add-index
|
Tillater å legge til indeksfiler til ELF binærfiler.
Dette setter fart på gdb starting av store
programmer.
|
libinproctrace.so
|
inneholder funksjoner for sporingsmiddelet i prosessen.
Agenten gjør det mulig å installere raske
sporingspunkter, og viser statiske sporpunkter markører,
sondering av statiske sporingsmarkører og startsporing
overvåkning.
|