Crash [1] [2] (også nedbrud [1] [2] , ulykke [3] [2] , fatal fiasko [ 2] , crash , crash , crash ) er et nedbrudsprogram eller operativsystem, når de holder op med at fungere normalt .
Ofte hænger programmet, indtil der genereres en fejlrapport med detaljerne om fejlen.
Hvis programmet er en vigtig del af operativsystemet, kan hele systemet gå ned eller hænge som følge af en kernepanik eller fatal systemfejl.
De fleste fejl er resultatet af at udføre ugyldige maskininstruktioner . For eksempel, når programtælleren er indstillet til den forkerte adresse , eller som følge af et bufferoverløb , overskrives en del af programdata på grund af en fejl . Dette resulterer i adgang til tilfældige dataværdier i hukommelsen , der ikke længere matcher den oprindelige anmodning, og håndtering af undtagelser i processoren forekommer .
Den originale softwarefejl, der startede denne hændelseskæde, anses generelt for at være årsagen til det nedbrud, der opdages under fejlretningsprocessen . Dette er ofte langt fra indlysende, da den oprindelige fejl kan være langt fra en crash-hændelse og ser ud til at være helt gyldig kildekode .
Et program afsluttes normalt, når det udfører en handling, der ikke er tilladt af operativsystemet. Operativsystemet sender derefter en undtagelse eller et signal i applikationen .
Unix-applikationer reagerer traditionelt på et signal med et hukommelsesdump . De fleste Windows- og Unix GUI-applikationer reagerer ved at vise en dialogboks med mulighed for at vedhæfte en debugger , hvis en er installeret.
Nogle programmer forsøger at genoprette en fejl og fortsætte i stedet for at afslutte.
Almindelige fejl, der får applikationer til at gå ned, omfatter:
Et program, der kører på en webserver, kan fejle, og webstedet fungerer muligvis ikke eller viser en fejlmeddelelse.
For eksempel, hvis et websted, der bruger en SQL-database (som MySQL ) bruger et script (som PHP ), og den server går ned, vil PHP give en forbindelsesfejl.