Ero sivun ”Muistivuoto” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
FlaBot (keskustelu | muokkaukset)
p Botti lisäsi: it:Memory leak
Civ (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 1:
'''Muistivuoto''' on [[ohjelmointi|ohjelmoinnin]] tyypillisimpiä virheitä. Tällä tarkoitetaan sitä, ettämuistin ohjelmapätkävarausta eiohjelmakoodissa vapautailman kaikkeamuistin varaamaansa muistiavapauttamista. Kun pätkäämuistivuotoa sisältävää ohjelman osaa suoritetaan ohjelmassariittävän moniamonta kertojakertaa, ohjelmavoi yleensävapaa kaatuumuisti tietokoneenloppua, mikä jonkunaiheuttaa resurssinohjelmiston loputtuakaatumisen. Joissakin ohjelmointikielissä, kuten [[Java]]ssa, on automaattinen roskienkerääjä, joka pyrkii vapauttamaan järjestelmänohjelmiston varaamia resursseja ohjelman käyttöönuusiokäyttöön. Tällaista roskienkerääjää ei ole kuitenkaan esimerkiksi [[C (ohjelmointikieli)|C]]:ssä ja [[C++]]:ssa.
 
== Ongelman välttäminen ==
Muistivuodon havaitsemista varten voidaan tehdä testiohjelma, joka suorittaa jotakin funktiota useita kertoja peräkkäin. Tällöin saatetaan havaita koodista ongelmakohta, josJos ohjelma kaatuu koko ajan samassa suoritusvaiheessa, saatetaan havaita muistivuotoa aiheuttava koodin ongelmakohta.
 
== Yksinkertainen C-kielinen esimerkki ==