Hvad er en kernedump?
En kernedump er en registrering af en computers hukommelsesindhold, når der opstod en alvorlig fejl. Det kan omfatte hele systemhukommelsen eller bare den del, der blev brugt af det program, der mislykkedes. Det kan også omfatte andre relevante data, såsom processortilstand, registerindhold og information om kørende processer. Softwareingeniører bruger ofte kernedumps med debuggers og andre værktøjer til at analysere og løse computerfejl. En kernedump kan også bruges til at overføre en arbejdsproces fra en processor til en anden under normal drift.
Udtrykket "kernedump" stammer sandsynligvis i 1960'erne, da de tidlige computere brugte magnetisk kernehukommelse. Da et kørende program styrtede ned, blev alle data i hele kernen udskrevet på papir for at hjælpe med fejlfinding. Disse udskrifter bestod normalt af lidt mere end hukommelsesadresser og data i oktal eller hexadecimal notation. Efterhånden som lagringsteknologier blev forbedret, kunne kernedumps gemmes på disk, aftageligt magnetbånd eller ikke-flygtige hukommelsessticks. Større lagerkapacitet til statsoplysninger sammen med fremskridt inden for fejlfinding af software har gjort fejldiagnostik mere effektiv.
Typiske årsager til kernedumps er dårligt skrevet applikationer eller systemsoftware. Programkode antager ganske ofte, at pegere og matrixindekser altid refererer til gyldige datastrukturer. Hvis nogen af disse er flyttet ud over deres oprindelige strukturs grænser, kan der forekomme en kernedump. Problemer med adgang til datafiler på en lagerenhed eller læsning af beskadigede data kan også forårsage en kernedump. Hardwareproblemer, herunder hukommelse, harddiske eller processorer, der ikke fungerer, kan også udløse dem.
Der er generelt to typer kernedumps. En type er, hvor den kørende proces eller applikationsprogram afsluttes, og kontrollen vender tilbage til operativsystemet. I dette tilfælde fortsætter resten af systemet normalt, da kun det krænkende program blev stoppet. Der genereres normalt en stor kernedump-fil, som derefter kan indlæses i en debugger. Hvis fejlen opstod i et program, som symbolerne og kildekoden er til rådighed for, kan disse også indlæses i fejlsøgningen.
Den anden mere alvorlige type kernedump kaldes også en kernepanik. Denne type dump stopper hele systemet i dets spor for at forhindre yderligere komplikationer og datakorruption. På Microsoft Windows®-systemer forekommer denne type dump normalt i den alt for velkendte form af en "blå skærm af død." Panik som disse er normalt sværere at fejlsøge og er ofte forårsaget af hardware- eller systemniveau-problemer. Disse kan ske, før systemet er færdig med at starte, når der kun er få oplysninger om den faktiske årsag.