Vad är ett onormalt slut?
Ett onormalt slut är en plötslig och oväntad avslutning av ett fungerande datorprogram eller applikation. Namnet kommer ursprungligen från det äldre operativsystemet IBM 360, som noterade sådana avslutningar som ABEND-fel. Ett onormalt slut på ett program kan uppstå av många olika skäl, men de vanligaste orsakerna innebär problem med systemminnet eller problem inom programvarukoden. När denna typ av avslutning äger rum stängs programmet på egen hand och operativsystemet går in för att mildra skadorna genom att spola programminnet och agera som om programmet hade avslutats framgångsrikt under typiska situationer.
Problem i systemminnet på en dator kan utlösa ett onormalt slut på ett eller flera program på systemet. När datorn tillåter att ett minnesläcka inträffar - när det låter ett program skriva till minne som inte har tilldelats det av operativsystemet - kan det oavsiktligt skriva över delar av minnet som tillhörde ett annat program. När det "invaderade" programmet försöker hämta informationen lagrad i de invaderade delarna av minnet, hittar den inte längre rätt, förväntad data. Denna skillnad resulterar ofta i en fullständig krasch av applikationen, eftersom den inte kan köras med den överskrivna informationen som sparats av det invaderande programmet.
Problem med programkod kan ibland utlösa ett onormalt slut på ett program. Om programvaran har buggar eller inte innehåller tillräcklig felhanteringskod kan felaktiga ingångar från slutanvändaren resultera i en onormal avslutning av programvaran. Exempelvis kommer ett program som ber slutanvändaren att mata in sitt telefonnummer kodas vanligtvis så att alla icke-numeriska svar som inte innehåller 10 siffror omedelbart "fångas" som ett potentiellt fel och returneras till slutanvändaren som ett dåligt resultat. Omogen eller ofullständig programvara som inte inkluderar denna felhanteringskod kan krascha vid felaktig inmatning; programmet kommer inte att kunna hantera om slutanvändaren beslutar att ange "abcdefg" som hans eller hennes antagna telefonnummer.
När ett onormalt slut inträffar varnar operativsystemet vanligtvis datoranvändaren om att ett programavslut har inträffat. Efter att ha gjort detta är operativsystemets uppgift att återhämta sig från kraschen utan att påverka något av de andra programmen på systemet. För att göra detta frigör det vanligtvis minnet som det tilldelade programmet, precis som det skulle om programmet hade avslutats framgångsrikt. Information om den onormala programavslutningen sparas ofta i operativsystemets kraschloggar, vilket gör att en slutanvändare kan granska kraschinformationen för att leta efter en potentiell grundorsak för konflikten.