Hva er en unormal slutt?
En unormal slutt er en brå og uventet avslutning av et fungerende dataprogram eller applikasjon. Navnet stammer opprinnelig fra det eldre IBM 360-operativsystemet, som bemerket avslutninger som ABEND-feil. En unormal avslutning på et program kan oppstå av mange forskjellige grunner, men de vanligste årsakene innebærer problemer med systemminnet eller problemer innenfor programvarekoden. Når denne typen terminering finner sted, lukkes programmet på egen hånd, og operativsystemet trer inn for å dempe skaden ved å skylle programmets minne og fungere som om programmet hadde lukket seg under typiske situasjoner.
Problemer i systemminnet på en datamaskin kan utløse en unormal avslutning på ett eller flere programmer på systemet. Når datamaskinen lar en minnelekkasje oppstå - når den lar et program skrive til minne som ikke er tilordnet den av operativsystemet - kan den utilsiktet overskrive deler av minnet som tilhørte et annet program. Når det "invaderte" programmet prøver å gjenvinne informasjonen som er lagret i de invaderte delene av minnet, vil det ikke lenger finne de riktige, forventede dataene. Dette avviket resulterer ofte i en fullstendig krasj av applikasjonen, siden den ikke kan kjøres ved å bruke overskrevet informasjon som er lagret av det invaderende programmet.
Problemer med programvarekode kan noen ganger utløse en unormal avslutning på et program. Hvis programvaren har feil eller ikke inneholder tilstrekkelig feilhåndteringskode, kan feilinnganger fra sluttbrukeren føre til unormal avslutning av programvaren. For eksempel vil et program som ber sluttbrukeren legge inn telefonnummeret sitt, vanligvis bli kodet slik at ethvert ikke-numerisk svar som ikke inneholder 10 sifre, umiddelbart blir "fanget" som en potensiell feil og returneres til sluttbrukeren som et dårlig resultat. Umoden eller ufullstendig programvare som ikke inkluderer denne feilhåndteringskoden, kan krasje når du mottar feil inndata; programmet vil ikke kunne takle hvis sluttbrukeren bestemmer seg for å oppgi "abcdefg" som hans eller hennes antatte telefonnummer.
Når en unormal slutt oppstår, varsler operativsystemet datamaskinbrukeren at det har oppstått en programavslutning. Etter å ha gjort dette, er operativsystemets jobb å komme seg etter krasjen uten å påvirke noen av de andre programmene på systemet. For å gjøre dette frigjør det vanligvis minnet som det tilordnet programmet, nøyaktig som det ville gjort hvis programmet hadde avsluttet vellykket. Informasjon om den unormale programavslutningen lagres ofte i krasjloggene til operativsystemet, slik at en sluttbruker kan gjennomgå krasjinformasjonen for å se etter en potensiell årsak til konflikten.