Valgrind-3.25.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 kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

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

  • Nedlasting MD5 sum: c3da1f96462bc885ceaa528b171dc300

  • Nedlastingsstørrelse: 17 MB

  • Estimert diskplass som kreves: 618 MB (legg til 86 MB for tester)

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

Valgrind Avhengigheter

Valgfri

docbook-xml-4.5 (for tester), GDB-16.3 (for tester), libaio-0.3.113, LLVM-20.1.1 (med Clang), og Which-2.23 (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.25.0 &&
make

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

En ekstra testpakke er nå tilgjengelig som tester Valgrind med hver systemanrop levert av kjernen.Testsettet er utformet for å teste ikke bare glibc og kjernens overholdelse av standarder, men også Valgrinds evne til å håndtere forskjellige systemanrop.Testsettet gjør krever en internettforbindelse for å laste ned testene, og det tar lang tid tid å kjøre (en ekstra 20 SBUs og 1,3 GB diskplass.) make ltpchecks. Merk at utdataene vil vise flere feil der Valgrind for øyeblikket ikke støtter visse systemanrop, men loggene for testspakken kan finnes i auxprogs/auxchecks/ltp-full-20250130/valgrind-ltp-logs mappen.

[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.25.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