Valgrind | |
---|---|
Kehityshistoria | |
Vakaa versio | 3.24.0 ()[1] |
Tiedot | |
Lisenssi | GNU General Public License |
Aiheesta muualla | |
Verkkosivusto | |
Versiohallinta |
Valgrind on joukko ohjelmia debuggaukseen ja profilointiin.[2]
Valgrind integroituu ohjelmointiympäristöihin kuten Qt Creator ja Eclipse.[3][4]
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ä.[5]
Ohjelman nimi on peräisin skandinaavisesta mytologiasta.[6]
Valgrind toimii ohjelmabinäärillä, jolloin lähdekoodia ei tarvita (esimerkiksi suljetun kirjaston linkityksen kanssa) ja ei tarvitse ohjelman uudelleen kääntämistä.[7] Valgrindissä on modulaarinen rakenne ja perustuu JIT-kääntäjään (engl. just-in-time).[7]
Valgrind sisältää useita työkaluja:[8]
Valgrindin arkkitehtuuri jakaantuu kahteen osaan: ”ytimeen” ja ”työkaluihin”.[9] 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).[9] Ydin jättää eräitä asioita työkalun toteutukseen kuten miten ohjelmakoodia instrumentoidaan.[9]