Hva er en kjernedump?
En kjernedump er en registrering av datamaskinens minneinnhold da det oppsto en alvorlig feil. Det kan inneholde hele systemminnet eller bare den delen som var i bruk av programmet som mislyktes. Det kan også omfatte andre relevante data som prosessortilstand, registerinnhold og informasjon om kjørende prosesser. Programvareingeniører bruker ofte kjernedumps med feilsøkere og andre verktøy for å analysere og fikse datafeil. En kjernedump kan også brukes til å overføre en arbeidsprosess fra en prosessor til en annen under normal drift.
Begrepet "kjernedump" oppstod sannsynligvis på 1960-tallet da tidlige datamaskiner brukte magnetisk kjerneminne. Da et kjørende program krasjet, ble alle dataene i hele kjernen skrevet ut på papir for å hjelpe med feilsøking. Disse utskriftene besto vanligvis av lite mer enn minneadresser og data i oktal eller heksadesimal notasjon. Etter hvert som lagringsteknologiene ble bedre, kunne kjernedumpinger lagres på disk, flyttbar magnetbånd eller ikke-flyktige minnepinner. Større lagringskapasitet for tilstandsinformasjon sammen med fremskritt i feilsøking av programvare har gjort feildiagnosen mer effektiv.
Typiske årsaker til kjernedumps er dårlig skrevet applikasjoner eller systemprogramvare. Ganske ofte antar programkoden at pekere og matriseindekser alltid refererer til gyldige datastrukturer. Hvis noen av disse har beveget seg utenfor grensene for deres opprinnelige strukturer, kan for eksempel en kjernedump oppstå. Problemer med tilgang til datafiler på en lagringsenhet eller lesing av ødelagte data kan også føre til en kjernedump. Maskinvareproblemer, inkludert minne som ikke fungerer, harddisker eller prosessorer, kan også utløse dem.
Det er vanligvis to typer kjernedumper. En type er der den løpende prosessen eller applikasjonsprogrammet avsluttes og kontrollen går tilbake til operativsystemet. I dette tilfellet fortsetter resten av systemet å fungere normalt siden bare det krenkende programmet ble stoppet. Det genereres vanligvis en stor kjernedump-fil som deretter kan lastes inn i en debugger. Hvis feilen oppstod i et program som symbolene og kildekoden er tilgjengelige for, kan disse også lastes inn i avluseren.
Den andre mer alvorlige typen kjernedump kalles også en kjernepanikk. Denne typen dump stopper hele systemet i sine spor for å forhindre ytterligere komplikasjoner og datakorrupsjon. På Microsoft Windows®-systemer forekommer denne typen dump vanligvis i en altfor kjent form av en "blå skjerm for død." Panikker som disse er vanligvis vanskeligere å feilsøke og er ofte forårsaket av maskinvare- eller systemnivåproblemer. Disse kan skje før systemet er ferdig med oppstart når lite informasjon er tilgjengelig om den faktiske årsaken.