Kwa Nini Programu Zinaanguka

Kwa Nini Programu Zinaanguka
Kwa Nini Programu Zinaanguka

Video: Kwa Nini Programu Zinaanguka

Video: Kwa Nini Programu Zinaanguka
Video: Kwa nini?/Kwa sababu.../Kwani... 2024, Aprili
Anonim

Aina ya majukumu yaliyotatuliwa leo kwa msaada wa kompyuta za kibinafsi hutolewa na uwepo wa seti kubwa ya programu za maombi. Urahisi wa kufanya kazi na programu hiyo inategemea sana kuegemea kwake, ambayo inaonyeshwa kwa kukosekana kwa hali za dharura. Walakini, programu nyingi zinaanguka wakati usiofaa zaidi. Kwa nini?

Kwanini
Kwanini

Utaratibu wa ubaguzi hutumiwa kufuatilia na kushughulikia hali maalum, isiyo ya kawaida au ya makosa ambayo huibuka wakati wa operesheni ya programu za kompyuta chini ya udhibiti wa mifumo ya kisasa ya uendeshaji. Isipokuwa inaweza kuwa vifaa (kutupwa na processor) na programu (iliyotupwa na programu yenyewe au sehemu fulani ya nje ya kuziba).

Bila kujali aina, ubaguzi unaweza kushikwa na kushughulikiwa kwa usahihi. Vighairi visivyo na mafunzo huenda kwa mshughulikia maktaba ya wakati wa kukimbia au kishikaji kilichosakinishwa na mfumo. Ikiwa hii itatokea, programu huanguka na ujumbe au dirisha lisilo la kawaida la kukomesha (katika Windows). Ikiwa mshughulikiaji wa mfumo wa uendeshaji hakufanya kazi (kwa mfano, iliondolewa kwa makusudi), programu hiyo "ilianguka kimya kimya". Kwa hivyo, programu huanguka kwa sababu ya isipokuwa ambazo haziwezi kushughulikiwa. Sababu za kutokea kwa tofauti ni tofauti.

Katika idadi kubwa ya kesi, programu huanguka kwa sababu ya utekelezaji wa nambari zao zenye makosa wazi ya utekelezaji. Orodha ya sababu zinazowezekana za dharura ni ndefu sana. Hizi ni makosa ya kawaida ya operesheni kwenye nambari za kuelea (kwa mfano, mgawanyiko na 0), na makosa ya kufanya kazi na kumbukumbu (kusoma au kuandika nje ya nafasi ya anwani ya mchakato, ufikiaji wa kurasa zilizolindwa, kuandika kwa eneo la kumbukumbu la kusoma tu), mafuriko ya stack kwa sababu ya kurudia tena, nk. Katika visa hivi, tofauti za vifaa au mfumo wa uendeshaji hutupwa.

Makosa dhahiri ni pamoja na visa anuwai vya uchujaji wa kutosha wa data ya kuingiza, ukosefu wa uthibitishaji wa maadili ya pointer, na mengi zaidi. Upungufu kama huo husababisha hali ya kipekee tu katika hali fulani.

Makosa ya utekelezaji yanaweza pia kupatikana katika vifaa vya nje vinavyotumiwa na programu. Kwa mfano, katika maktaba yenye nguvu ambayo hutoa utendaji muhimu au moduli za kuongeza. Nambari ya programu ambayo imebeba kabisa katika nafasi ya anwani ya mchakato (kwa mfano, ili kukatiza kazi fulani za API) pia inaweza kusababisha mpango kuanguka.

Vipengele vingi na maktaba (kwa mfano, ADO kwenye Windows) hutumia utaratibu wa ubaguzi wa programu kama kipaumbele cha makosa ya kuripoti. Kukosekana au utunzaji kamili wa ubaguzi na aina hii ya programu inaweza kusababisha ajali hata katika hali zisizo na hatia (kama vile kupoteza muunganisho kwenye hifadhidata).

Ilipendekeza: