Valgrind-3.23.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.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

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

  • Nedlasting MD5 sum: c59775fcbfa82fcce796843d0aaa7538

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 392 MB (legg til 68 MB for tester)

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

Valgrind Avhengigheter

Valgfri

docbook-xml-4.5 (for tester), GDB-15.2 (for tester), LLVM-19.1.0 (med Clang), og Which-2.21 (for tester)

Installasjon av Valgrind

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.23.0 &&
make

For å teste resultatene, kjør: make regtest. Testene kan henge for alltid hvis GDB-15.2 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
[Notat]

Notat

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