Programmatūras kļūda
Programmatūras kļūda ir datorprogrammas koda problēma, kuras dēļ tā nedarbojas pareizi. Tās var radīt neērtības lietotājam, un dators var sabojāties vai iesaldēties. Lielākajā daļā datorprogrammu ir kļūdas. Programmu, kurā ir liels skaits kļūdu (vai, iespējams, viena vai dažas nopietnas kļūdas), sauc par kļūdainu.
Lielāko daļu kļūdu izraisa izstrādātāja slikta programmēšana, taču dažkārt tās var radīt arī kompilatora problēmas. Kad tiek atklātas kļūdas, cilvēki nosūta kļūdas ziņojumus izstrādātājam, lai informētu viņu par kļūdu un ļautu to novērst.
Dažreiz cilvēki saka, ka datorā ir kļūda, ja ar to kaut kas nav kārtībā. Problēmu parasti izraisa datorvīruss, kas ir inficējis viņu datoru un liek tam darboties lēni vai darīt dažādas lietas.
Dažas kļūdas ir nekaitīgas, piemēram, daudzas videospēles nepareizi ļauj objektiem pārvietoties caur sienām. Citas kļūdas ir nopietnākas, piemēram, kļūda navigācijas sistēmā, kas izraisa lidmašīnas sprādzienu.
Kļūdu veidi
Bufera pārplūšana
Bufera pārplūšana notiek, kad programma raksta vai lasa no atmiņas apgabala, kuram tai nav atļauts piekļūt.
Aritmētiskā pārpilde
Aritmētiskā pārplūšana notiek tad, kad mainīgajā esošais skaitlis tiek palielināts virs lielākā skaitļa, ko pieļauj šis mainīgais. Tas parasti izraisa skaitļa atiestatīšanu atpakaļ uz nulli.
Bezgalīga cilpa
Bezgalīga cilpa rodas tad, ja programma iekļūst cilpā (instrukciju sērija, kas tiek atkārtota daudzas reizes) un no tās nav iespējams izkļūt. Tas var izraisīt programmas apstāšanos.
Noapaļošanas kļūdas
Ja mainīgajam ar peldošo komata punktu nav pietiekamas precizitātes, tajā saglabātā skaitļa vērtība var būt neprecīza. Tas var radīt dažādas problēmas atkarībā no programmas veida, piemēram, navigācijas programma var navigēt uz neparedzētu vietu, bet audioieraksta programmā var radīt izkropļotu skaņu.
Dalīšana ar nulli
Dalīšana ar nulli ir nederīga matemātiska darbība. Ja programma dalīs veselu skaitli ar nulli, tā sabojāsies. Operētājsistēmā Linux šīs kļūdas gadījumā tiek parādīts ziņojums "floating point exception" (izņēmums ar peldošo komata skaitli), lai gan nav iesaistīti skaitļi ar peldošo komata skaitli. Dažreiz peldošā komata matemātika pieļauj dalīšanu ar nulli. Tas parasti rada īpašu vērtību "nav skaitlis".
Apgriešanas problēmas
Videospēlēs apcirpšanas problēmas, ko dēvē arī par sadursmju noteikšanas problēmām, rodas tad, kad objekts šķērso barjeru (piemēram, sienu, grīdu vai griestus), kuru tas nav paredzēts šķērsot. Šī ir ļoti bieži sastopama kļūda daudzās videospēlēs. Tā var notikt, piemēram, spēlē Doom 2, kad sadragātu briesmoni atdzīvina arhetipiskais ienaidnieks. Nokļūšanas problēmas bieži var izmantot kā laika taupīšanas taktiku ātruma skrējienos, piemēram, Super Mario 64 spēlē ir iespējams izlaist kāpšanu pa pils spirālveida kāpnēm, izlecot cauri griestiem.
Drošības kļūdas
Drošības kļūdas ir kļūdas, kas ļauj uzbrucējam iegūt piekļuvi datoram vai izraisīt datora darbības traucējumus. Datora darbības traucējumu izraisīšanu sauc par pakalpojuma atteikuma uzbrukumu. Drošības kļūdas tiek uzskatītas par īpaši svarīgām, jo tās var ļaut iebrucējiem nozagt svarīgu informāciju, piemēram, kredītkaršu numurus vai paroles. Drošības kļūdu piemēri ir Heartbleed un Shellshock.
Misbugs
Kļūda ir kļūda, kas ir izmantota kā funkcija. Piemēram, kļūda Android tālrunī, kas ļauj lietotājiem iegūt root piekļuvi.
Aparatūras kļūdas
Dažas kļūdas ietekmē nevis programmatūru, bet gan aparatūru (datora fiziskās daļas). Piemēram, izpildot instrukciju bloķēt cmpxchg8b eax
uz vecajiem Pentium procesoriem, procesors pārtrauktu darboties, līdz tiek restartēts. Tā kā aparatūras kļūdas ir fiziskas konstrukcijas nepilnības, tās nevar labot ar programmatūras atjauninājumu, lai gan ar programmatūras atjauninājumu kļūdu var apiet (paslēpt).
Jautājumi un atbildes
J: Kas ir programmatūras kļūda?
A: Programmatūras kļūda ir datorprogrammas koda problēma, kuras dēļ tā nedarbojas pareizi.
J: Kādas ir programmatūras kļūdas sekas?
A: Programmatūras kļūda var radīt neērtības lietotājam, un dators var sabojāties vai iesaldēties.
Vai visās datorprogrammās ir kļūdas?
A: Jā, vairumā datorprogrammu ir kļūdas.
J: Kas ir kļūdaina programma?
A.: Kļūdaina programma ir tāda, kurā ir liels skaits kļūdu vai, iespējams, viena vai dažas nopietnas kļūdas.
J: Kas ir atbildīgs par lielāko daļu kļūdu datorprogrammās?
A: Lielāko daļu kļūdu izraisa izstrādātāja slikta programmēšana, bet dažkārt tās var izraisīt kompilatora problēmas.
J: Ko cilvēki dara, kad atrod kļūdu datorprogrammā?
A: Kad tiek atrastas kļūdas, cilvēki nosūta kļūdas ziņojumus izstrādātājam, lai informētu par kļūdu un ļautu to novērst.
J: Ko cilvēki domā, kad saka, ka viņu datorā ir kļūda?
A: Kad cilvēki saka, ka viņu datorā ir kļūda, viņi parasti ar to saprot, ka datorā kaut kas nav kārtībā, ko parasti izraisa datorvīruss, kas ir inficējis viņu datoru un liek tam darboties lēni vai darīt dažādas lietas.