Hvorfor Programmer Går Ned

Hvorfor Programmer Går Ned
Hvorfor Programmer Går Ned

Video: Hvorfor Programmer Går Ned

Video: Hvorfor Programmer Går Ned
Video: 16 ошибок штукатурки стен. 2024, November
Anonim

De mange forskellige opgaver, der løses i dag ved hjælp af pc'er, leveres af eksistensen af et stort sæt applikationsprogrammer. Bekvemmeligheden ved at arbejde med softwaren afhænger i høj grad af dens pålidelighed, hvilket udtrykkes i fravær af nødsituationer. Mange programmer går dog ned i det mest uhensigtsmæssige øjeblik. Hvorfor?

Hvorfor
Hvorfor

Undtagelsesmekanismen bruges til at spore og håndtere specielle, unormale eller fejlagtige situationer, der opstår under driften af computerprogrammer under kontrol af moderne operativsystemer. Undtagelser kan være hardware (kastet af processoren) og software (kastet af selve applikationen eller en ekstern plug-in-komponent).

Uanset type kan undtagelsen fanges og håndteres korrekt. Ufangede undtagelser går til root-runtime-bibliotekshåndteringen eller et operativsystem-installeret handler. Hvis dette sker, går programmet ned med en besked eller et unormalt opsigelsesvindue (i Windows). Hvis operativsystemhåndtereren ikke fungerede (for eksempel blev den bevidst fjernet), går programmet "lydløst ned". Således styrter programmer på grund af undtagelser, der ikke kan håndteres. Årsagerne til forekomsten af undtagelser er forskellige.

I det overvældende flertal af tilfælde styrter programmer på grund af udførelsen af deres egen kode, der indeholder eksplicitte eller implicitte implementeringsfejl. Listen over mulige årsager til nødsituationer er meget lang. Disse er både klassiske funktionsfejl på flydende numre (for eksempel division med 0) og fejl i arbejdet med hukommelse (læsning eller skrivning uden for procesadresseområdet, adgang til beskyttede sider, skrivning til et skrivebeskyttet hukommelsesområde), overløbsstak på grund af uendelig rekursion osv. I disse tilfælde kastes hardwareundtagelser eller undtagelser fra operativsystemer.

Implicitte fejl inkluderer forskellige tilfælde af utilstrækkelig filtrering af inputdata, manglende validering af markørværdier og meget mere. Sådanne mangler fører kun i visse tilfælde til usædvanlige situationer.

Implementeringsfejl kan også findes i eksterne komponenter, der bruges af applikationen. For eksempel i dynamiske biblioteker, der leverer den nødvendige funktionalitet eller tilføjelsesmoduler. Programkode, der implicit er indlæst i procesrummet i en proces (for eksempel for at opfange visse API-funktioner) kan også få programmet til at gå ned.

Mange komponenter og biblioteker (for eksempel ADO på Windows) bruger den programmatiske undtagelsesmekanisme som en prioritet til rapportering af fejl. Fravær eller ufuldstændig håndtering af undtagelser ved denne form for applikation kan føre til, at det går ned, selv i fuldstændig harmløse situationer (såsom tab af forbindelse til databasen).

Anbefalede: