Hrošč (računalništvo)

Programski hrošč je težava v kodi računalniškega programa, zaradi katere ta ne deluje pravilno. Uporabniku lahko povzročijo nevšečnosti in lahko povzročijo sesutje ali zamrznitev računalnika. Večina računalniških programov ima napake. Za program, ki ima veliko število napak (ali morda eno ali nekaj resnih napak), pravimo, da ima napake.

Večina napak je posledica slabega programiranja razvijalca, včasih pa jih lahko povzročijo tudi težave s prevajalnikom. Ko so napake odkrite, ljudje pošljejo poročila o napakah razvijalcu, da ga obvestijo o napaki in mu omogočijo, da jo odpravi.

Včasih ljudje rečejo, da ima njihov računalnik napako, ko je z njim nekaj narobe. Težavo običajno povzroči računalniški virus, ki je okužil njihov računalnik in ga upočasnjuje ali povzroča različne stvari.

Nekatere napake so neškodljive, na primer številne videoigre nepravilno omogočajo premikanje predmetov skozi stene. Druge napake so hujše, na primer napaka v navigacijskem sistemu, ki povzroči eksplozijo letala.



Vrste hroščev

Prelitje medpomnilnika

Do prepolnitve medpomnilnika pride, ko program piše v območje pomnilnika ali bere iz njega, do katerega ne bi smel dostopati.

Aritmetično prelivanje

Do aritmetičnega prelivanja pride, ko se število v spremenljivki poveča nad največje število, ki ga spremenljivka dopušča. To običajno povzroči, da se število vrne na ničlo.

Neskončna zanka

Neskončna zanka nastane, ko program vstopi v zanko (niz ukazov, ki se večkrat ponovi) in iz zanke ni izhoda. Zaradi tega lahko program zamrzne.

Napake zaokroževanja

Če spremenljivka s plavajočo vejico ni dovolj natančna, je število, shranjeno v njej, lahko nenatančno. To lahko povzroči različne težave, odvisno od vrste programa, na primer navigacijski program se lahko premakne na nenamerno lokacijo, program za snemanje zvoka pa popači zvok.

Deljenje z ničlo

Deljenje z nič je neveljavna matematična operacija. Če program deli celo število z ničlo, se sesuje. V operacijskem sistemu Linux se ob pojavu te napake prikaže sporočilo "izjema s plavajočo vejico", čeprav ni šlo za števila s plavajočo vejico. Matematika s plavajočo vejico včasih omogoča deljenje z ničlo. Običajno se pri tem pojavi posebna vrednost "ni število".

Težave z obrezovanjem

V videoigrah se težave z obrezovanjem, imenovane tudi težave z zaznavanjem trkov, pojavijo, ko predmet prečka oviro (na primer steno, tla ali strop), skozi katero ni bil predviden. To je zelo pogosta napaka, ki se pojavlja v številnih videoigrah. To se lahko zgodi na primer v igri Doom 2, ko arhetip oživi zdrobljeno pošast. Težave z izrezovanjem se lahko pogosto uporabijo kot taktika za prihranek časa pri hitrih vožnjah, na primer v igri Super Mario 64 je mogoče preskočiti hojo po spiralnih stopnicah v gradu s skokom skozi strop.

Varnostne napake

Varnostni hrošči so hrošči, ki vsiljivcu omogočajo dostop do računalnika ali pa povzročijo njegovo okvaro. Povzročitev okvare računalnika se imenuje napad z zavrnitvijo storitve. Varnostne hrošče je treba odpraviti še posebej pomembno, saj lahko z njimi vdiralci ukradejo pomembne informacije, kot so številke kreditnih kartic ali gesla. Primera varnostnih napak sta Heartbleed in Shellshock.



Misbugs

Napaka je napaka, ki je bila uporabljena kot funkcija. Primer je napaka v telefonu z operacijskim sistemom Android, ki uporabnikom omogoča pridobitev korenskega dostopa.



Napake strojne opreme

Nekatere napake ne vplivajo na programsko opremo, temveč na strojno opremo (fizične dele računalnika). Na primer, če bi na starih procesorjih Pentium izvedli ukaz lock cmpxchg8b eax, bi procesor prenehal delovati, dokler ga ne bi ponovno zagnali. Ker so napake v strojni opremi fizične napake v zasnovi, jih ni mogoče odpraviti s posodobitvijo programske opreme, čeprav je mogoče napako obiti (skriti) s posodobitvijo programske opreme.



Vprašanja in odgovori

V: Kaj je programska napaka?


O: Programski hrošč je težava v kodi računalniškega programa, zaradi katere ta ne deluje pravilno.

V: Kakšne so posledice programske napake?


O: Napaka v programski opremi lahko uporabniku povzroči nevšečnosti in lahko povzroči, da se njegov računalnik sesuje ali zamrzne.

V: Ali imajo vsi računalniški programi napake?


O: Da, večina računalniških programov ima napake.

V: Kaj je program z napako?


O: Program z napakami je program, ki ima veliko število napak ali po možnosti eno ali nekaj resnih napak.

V: Kdo je odgovoren za večino napak v računalniških programih?


O: Večino hroščev povzroči slabo programiranje s strani razvijalca, včasih pa jih lahko povzročijo tudi težave s prevajalnikom.

V: Kaj naredijo ljudje, ko v računalniškem programu najdejo napako?


O: Ko najdejo napake, pošljejo poročila o napakah razvijalcu, da ga obvestijo o napaki in mu omogočijo, da jo odpravi.

V: Kaj imajo ljudje v mislih, ko rečejo, da ima njihov računalnik napako?


O: Ko ljudje rečejo, da ima njihov računalnik napako, imajo običajno v mislih, da je z njim nekaj narobe, kar je običajno posledica računalniškega virusa, ki je okužil njihov računalnik in zaradi katerega je počasen ali počne različne stvari.

AlegsaOnline.com - 2020 / 2023 - License CC3