| Valgrind | |
|---|---|
| Kehityshistoria | |
| Vakaa versio | 3.27.0 () |
| Tiedot | |
| Lisenssi | GPLv3 |
| Aiheesta muualla | |
| Verkkosivusto | |
| Versiohallinta | |
Valgrind on joukko ohjelmia debuggaukseen ja profilointiin.
Valgrind integroituu eri ohjelmointiympäristöihin kuten Qt Creator ja Eclipse.
Valgrind tukee muun muassa Android, Linux, Solaris ja Darwin (Mac OS X 10.12) -alustoja ARM, AMD64, Power, MIPS, S/390 ja x86-suorittimilla.
Ohjelman kehittäjä Julian Seward sai avoimen lähdekoodin palkinnon vuonna 2006 kehitystyöstä.
Ohjelman nimi on peräisin skandinaavisesta mytologiasta.
Valgrind toimii ohjelmabinäärillä, jolloin lähdekoodia ei tarvita (esimerkiksi suljetun kirjaston linkityksen kanssa) ja ei tarvitse ohjelman uudelleen kääntämistä. Valgrindissä on modulaarinen rakenne ja perustuu JIT-kääntäjään (engl. just-in-time).
Valgrind sisältää useita työkaluja:
Valgrindin arkkitehtuuri jakaantuu kahteen osaan: ”ytimeen” ja ”työkaluihin”. Ytimessä on yhteisiä toimintoja ohjelman instrumentointia varten mukaan lukien JIT-kääntäjän, alemman tason muistikäsittelijän, signaalikäsittelijän ja vuorontajan (säikeitä varten). Ydin jättää eräitä asioita työkalun toteutukseen kuten miten ohjelmakoodia instrumentoidaan.