Valgrind-3.22.0

Introduksjon til Valgrind

Valgrind er et instrumenteringsrammeverk for å bygge dynamiske analyseverktøy. Det finnes Valgrind verktøy som automatisk kan oppdage mange minnehåndterings- og trådfeil, og profilprogrammer i detalj. Valgrind kan også brukes til å bygge nye verktøy.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar.bz2

  • Nedlasting MD5 sum: 38ea14f567efa09687a822b33b4d9d60

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 390 MB (legg til 66 MB for tester)

  • Estimert byggetid: 0.5 SBU (legg til 6,8 SBU for tester; begge bruker parallellisme=4)

Ytterligere Nedlastinger

Valgrind Avhengigheter

Valgfri

GDB-14.1 (for tester), LLVM-17.0.6 (med Clang), og Which-2.21 (for tester)

Installasjon av Valgrind

Gjør først flere endringer som kreves for at Valgrind skal fungere på systemer med glibc-2.39 og binutils-2.42 installert:

patch -Np1 -i ../valgrind-3.22.0-upstream_fixes-1.patch

Installer Valgrind ved å kjøre følgende kommandoer:

sed -i 's|/doc/valgrind||' docs/Makefile.in &&

./configure --prefix=/usr \
            --datadir=/usr/share/doc/valgrind-3.22.0 &&
make

For å teste resultatene, kjør: make regtest. Testene kan henge for alltid hvis GDB-14.1 ikke er installert. Noen tester er kjent for å henge også, avhengig av versjonen av glibc. Noen få tester kan mislykkes i ulike pakker. Problematiske tester kan deaktiveres ved å endre prereq: linjen i den tilsvarende .vgtest filen til prereq: false. For eksempel:

sed -e 's@prereq:.*@prereq: false@' \
    -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest
[Note]

Note

OpenMP tester hoppes over hvis libgomp har blitt kompilert med --enable-linux-futex (standard). Om nødvendig, bare kompiler libgomp biblioteket på nytt fra gcc byggetreet, send --disable-linux-futex til configure, lagre biblioteket et sted og endre koblingen fra /usr/lib/libgomp.so.1 til å peke på det nye bibliotek.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i ... docs/Makefile.in : Dette sed sørger for installering av dokumentasjonen i en versjonert mappe.

--enable-lto=yes: Dette alternativet lar deg bygge Valgrind med LTO (link time optimization). Dette gir en mindre/raskere Valgrind (opptil 10%), men byggetiden øker til ca 5,5 SBU.

Innhold

Installerte Programmer: callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener, og vgdb
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/valgrind, /usr/libexec/valgrind, /usr/include/valgrind, og /usr/share/doc/valgrind-3.22.0

Korte Beskrivelser

valgrind

er et program for feilsøking og profilering av Linux kjørbare filer

callgrind_annotate

tar en utdatafil produsert av Valgrind verktøyet Callgrind og skriver ut informasjon i en lettlest form

callgrind_control

kontrollerer programmer som kjøres av Valgrind verktøyet Callgrind

cg_annotate

er et etterbehandlingsverktøy for Valgrind verktøyet Cachegrind

cg_diff

sammenligner to Cachegrind utdatafiler

cg_merge

slår sammen flere Cachegrind utdatafiler til en fil

ms_print

tar en utdatafil produsert av Valgrind verktøyet Massif og skriver ut informasjonen i en lettlest form

valgrind-di-server

er en server som leser debuginfo fra objekter som er lagret på en annen maskin

valgrind-listener

lytter på en socket for Valgrind kommentarer

vgdb

er et mellomledd mellom Valgrind og GDB eller et skall