Bug (informatika)

A szoftverhiba egy számítógépes program kódjának olyan problémája, amely miatt a program nem működik megfelelően. Kellemetlenséget okozhat a felhasználónak, és a számítógép összeomlásához vagy lefagyásához vezethet. A legtöbb számítógépes programban vannak hibák. Egy olyan programot, amely nagyszámú hibával (esetleg egyetlen vagy néhány súlyos hibával) rendelkezik, hibásnak nevezünk.

A legtöbb hibát a fejlesztő rossz programozása okozza, de néha a fordítóprogram problémái is okozhatják. Amikor hibákat találnak, az emberek hibajelentéseket küldenek a fejlesztőnek, hogy tájékoztassák őket a hibáról, és hagyják, hogy kijavítsák azt.

Néha az emberek azt mondják, hogy a számítógépükben hiba van, amikor valami baj van vele. A problémát általában egy számítógépes vírus okozza, amely megfertőzte a számítógépet, és lassítja, vagy más dolgokat csinál.

Egyes hibák ártalmatlanok, például sok videojátékban a tárgyak helytelenül mozognak a falakon keresztül. Más hibák súlyosabbak, például egy navigációs rendszerben lévő hiba, amely egy repülőgép felrobbanását okozza.



A hibák típusai

Puffer túlcsordulás

A puffer túlcsordulás akkor következik be, amikor egy program olyan memóriaterületre ír vagy onnan olvas, amelyhez nem lenne szabad hozzáférnie.

Aritmetikai túlcsordulás

Aritmetikai túlcsordulás akkor következik be, amikor egy változóban lévő számot a változó által megengedett legnagyobb számnál nagyobbra növelünk. Ez általában a szám nullára való visszaállását okozza.

Végtelen hurok

Végtelen hurokról akkor beszélünk, amikor a program egy hurokba (többször ismétlődő utasítássorozat) kerül, és nincs kiút a hurokból. Ez a program lefagyását okozhatja.

Kerekítési hibák

Ha egy lebegőpontos változó nem elég pontos, a benne tárolt szám pontatlan lehet. Ez a program típusától függően különböző problémákat okozhat, például egy navigációs programban nem kívánt helyre navigálhat, vagy torz hangot adhat egy hangrögzítő programban.

Osztás nullával

A nullával való osztás érvénytelen matematikai művelet. Ha egy program egész számot oszt nullával, akkor összeomlik. Linuxon a hiba esetén megjelenő üzenet "floating point exception" (lebegőpontos kivétel), még akkor is, ha nem lebegőpontos számokról van szó. A lebegőpontos matematika néha lehetővé teszi a nullával való osztást. Ez általában egy speciális "nem szám" értéket eredményez.

Vágási problémák

A videojátékokban a vágási problémák, más néven ütközésérzékelési problémák akkor jelentkeznek, amikor egy objektum áthalad egy olyan akadályon (például falon, padlón vagy mennyezeten), amelyen nem kellett volna áthaladnia. Ez egy nagyon gyakori hiba, amely számos videojátékban megtalálható. Ez történhet például a Doom 2-ben, amikor egy összezúzott szörnyeteg feltámad egy főgonosz által. A vágási problémák gyakran időmegtakarítási taktikaként használhatók a speedrunoknál, például a Super Mario 64-ben a kastélyban a csigalépcsőn való felsétálást úgy lehet kihagyni, hogy átugrunk a mennyezeten.

Biztonsági hibák

A biztonsági hibák olyan hibák, amelyek lehetővé teszik a behatolók számára, hogy hozzáférjenek a számítógéphez, vagy a számítógép összeomlását okozzák. A számítógép összeomlásának előidézését szolgálatmegtagadási támadásnak nevezik. A biztonsági hibákat különösen fontosnak tartják kijavítani, mivel ezek lehetővé tehetik a behatolók számára, hogy fontos információkat, például hitelkártyaszámokat vagy jelszavakat lopjanak el. A biztonsági hibákra példa a Heartbleed és a Shellshock.



Misbugs

A hibás hiba olyan hiba, amelyet funkcióként használtak. Ilyen például egy Android telefonban lévő hiba, amely lehetővé teszi a felhasználók számára, hogy root hozzáférést szerezzenek.



Hardveres hibák

Egyes hibák a szoftver helyett a hardvert (a számítógép fizikai részeit) érintik. Például a régi Pentium processzorokon a cmpxchg8b eax utasítás lock futtatása a processzor újraindításáig nem működik. Mivel a hardverhibák fizikai tervezési hibák, nem lehet őket szoftverfrissítéssel kijavítani, bár lehet, hogy a hibát szoftverfrissítéssel meg lehet kerülni (el lehet rejteni).




AlegsaOnline.com - 2020 / 2023 - License CC3