Tartalomjegyzék:
- Meghatározás - Mit jelent a szegmentációs hiba (szegmentált)?
- A Techopedia magyarázza a szegmentációs hibát (Segfault)
Meghatározás - Mit jelent a szegmentációs hiba (szegmentált)?
A szegmentációs hiba (szegmens) a memóriavédelemmel ellátott hardver által visszaadott hiba, amely az operációs rendszer számára értesíti a memória-hozzáférés megsértését. Az operációs rendszer általában úgy reagál, hogy a hibát egy jel révén elmondja a jogsértő folyamatnak, majd az operációs rendszer valamilyen javító intézkedést hajt végre. Ennek oka az, hogy egy folyamat vagy program megpróbálja elérni a hozzá nem rendelt memóriát.
A szegmentációs hibát hozzáférés-megsértésnek is nevezik.
A Techopedia magyarázza a szegmentációs hibát (Segfault)
A szegmentációs hibát gyakran olyan folyamatok vagy alkalmazások programozásának hibái okozzák, amelyekben a program olyan memória eléréséhez vezet, amelyet nem neki, hanem más programoknak vagy magának a rendszernek allokáltunk. A folyamatok nem érinthetik a számára nem fenntartott memóriát, mivel használatának mindig meg kell kérnie a memóriát. Ezért, amikor véletlenül megérinti a hozzá nem rendelt memóriát, hozzáférési jogsértés lép fel.
A hibákat egy rekurzív funkció is okozhatja, amely felhasználhatja az összes hozzárendelt veremterületet, és gyorsan behatolhat a hozzá nem rendelt memóriába. Egyes rendszerekben ezt verem túlcsordulásnak tekintik, mások számára pedig egyszerűen egyfajta hozzáférés-megsértést jelent.
A szegmentálási hibákat egy folyamat kezelheti egy egyedi jelkezelőn keresztül, de gyakran az operációs rendszer alapértelmezett jelkezelőjét használják, ami általában azt eredményezi, hogy a jogsértő folyamat rendellenesen befejeződik, összeomlásnak hívják, vagy az operációs rendszer kényszeríti a központi dumpot. .
