Valgrind

Wikipediasta
Siirry navigaatioon Siirry hakuun
Valgrind
Kehityshistoria
Vakaa versio 3.22.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.

Historia[muokkaa | muokkaa wikitekstiä]

Ohjelman kehittäjä Julian Seward sai avoimen lähdekoodin palkinnon vuonna 2006 kehitystyöstä.[5]

Ohjelman nimi on peräisin skandinaavisesta mytologiasta.[6]

Ratkaisu ja ominaisuudet[muokkaa | muokkaa wikitekstiä]

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]

  • Memcheck: muistikäsittelyn ongelmat kuten muistivuodot, kaksinkertaiset vapautukset, varaamattoman muistin ja ylivuotojen tarkistukset
  • Cachegrind: välimuistin käytön profilointi
  • Callgrind: laajennus Cachegrindiin
  • Massif: heap-muistin debuggaamiseen
  • Helgrind: säikeistyksen debuggaamiseen

Rakenne[muokkaa | muokkaa wikitekstiä]

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]

Katso myös[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Current Releases. Tieto on haettu Wikidatasta.
  2. valgrind(1) - Linux man page linux.die.net. Viitattu 31.1.2020. (englanniksi)
  3. Using Valgrind Code Analysis Tools doc.qt.io. Viitattu 31.1.2020. (englanniksi)
  4. Linux Tools Project - Valgrind Support eclipse.org. Viitattu 31.1.2020. (englanniksi)
  5. Google-O'Reilly Open Source Awards - Hall of Fame developers.google.com. Viitattu 31.1.2020. (englanniksi)
  6. Valgrind Frequently Asked Questions valgrind.org. Viitattu 31.1.2020. (englanniksi)
  7. a b Christian Bornträger: PDFs Linux on System z debugging with Valgrind (PDF) vm.ibm.com. Viitattu 31.1.2020. (englanniksi)
  8. Valgrind's Tool Suite valgrind.org. Viitattu 31.1.2020. (englanniksi)
  9. a b c 4. Writing a New Valgrind Tool cs.cmu.edu. Viitattu 31.1.2020. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]