Kaatuminen [1] [2] (myös kaatuminen [ 1 ] [ 2 ] , onnettomuus [3] [2] , kohtalokas vika [ 2] , kaatuminen , kaatuminen , kaatuminen ) on ohjelmien tai käyttöjärjestelmän kaatuminen , kun ne lakkaavat toimimasta normaalisti .
Usein ohjelma jumiutuu , kunnes virheraportti luodaan virheen yksityiskohdilla.
Jos ohjelma on tärkeä osa käyttöjärjestelmää, koko järjestelmä saattaa kaatua tai jumittua ytimen paniikin tai kohtalokkaan järjestelmävirheen seurauksena.
Useimmat viat johtuvat virheellisten konekäskyjen suorittamisesta . Esimerkiksi kun ohjelmalaskuri on asetettu väärään osoitteeseen tai puskurin ylivuodon seurauksena, osa ohjelmatiedoista ylikirjoitetaan virheen vuoksi . Tämä johtaa pääsyyn muistissa oleviin satunnaisiin tietoarvoihin, jotka eivät enää vastaa alkuperäistä pyyntöä, ja prosessorissa tapahtuu poikkeusten käsittely .
Alkuperäistä ohjelmistovirhettä, joka aloitti tämän tapahtumaketjun, pidetään yleensä virheenkorjausprosessin aikana havaitun kaatumisen syynä . Tämä ei useinkaan ole ilmeistä, koska alkuperäinen virhe saattaa olla kaukana kaatumistapahtumasta ja näyttää olevan täysin kelvollinen lähdekoodi .
Sovellus päättyy yleensä, kun se suorittaa toiminnon, jota käyttöjärjestelmä ei salli. Käyttöjärjestelmä antaa sitten poikkeuksen tai signaalin sovellukseen .
Unix-sovellukset vastaavat signaaliin perinteisesti muistivedolla . Useimmat Windows- ja Unix GUI -sovellukset vastaavat näyttämällä valintaikkunan, jossa on mahdollisuus liittää virheenkorjaus , jos sellainen on asennettu.
Jotkut sovellukset yrittävät toipua virheestä ja jatkavat lopettamisen sijaan.
Yleisiä virheitä, jotka aiheuttavat sovellusten kaatumisen, ovat:
Verkkopalvelimella toimiva sovellus saattaa epäonnistua ja sivusto ei välttämättä toimi tai näyttää virheilmoituksen.
Jos esimerkiksi SQL-tietokantaa (kuten MySQL ) käyttävä sivusto käyttää komentosarjaa (kuten PHP ) ja palvelin kaatuu, PHP antaa yhteysvirheen.