Domov audio Čo je to chyba segmentácie (segfault)? - definícia z technológie

Čo je to chyba segmentácie (segfault)? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená chyba segmentácie (segmentácia)?

Porucha segmentácie (segfault) je chyba vrátená hardvérom s ochranou pamäte, ktorá oznamuje operačnému systému, že došlo k narušeniu prístupu k pamäti. Operačný systém obyčajne reaguje oznámením priestupkového procesu o chybe prostredníctvom signálu a potom OS vykoná určitý druh nápravných opatrení. Deje sa tak preto, lebo proces alebo program sa pokúša získať prístup k pamäti, ktorá mu nie je priradená.

Porucha segmentácie je známa aj ako porušenie prístupu.

Techopedia vysvetľuje chybu segmentácie (Segfault)

Porucha segmentácie je často spôsobená chybami v programovaní procesu alebo aplikácie, v ktorej je program vedený k prístupovej pamäti, ktorá mu nebola pridelená, ale pre iné programy alebo pre samotný systém. Proces sa nesmie dotýkať pamäte, ktorá nie je preň vyhradená, pretože pred použitím musí vždy požiadať o pamäť. Preto, keď sa náhodne dotkne pamäte, ktorá nie je priradená, dôjde k narušeniu prístupu.


Segfaults môže byť tiež spôsobený rekurzívnou funkciou, ktorá môže vyčerpať celý pridelený priestor zásobníka a rýchlo zasiahnuť do pamäte, ktorá mu nie je priradená. V niektorých systémoch sa to považuje za pretečenie zásobníka, pre iné je to jednoducho druh narušenia prístupu.


Porucha segmentácie môže byť spracovaná procesom pomocou vlastného obslužného programu signálov, ale často sa používa predvolený obslužný program signálov v OS, ktorý zvyčajne vedie k abnormálnemu ukončeniu procesu porušovania predpisov, ktorý sa nazýva havária, alebo OS núti skládku jadra.,

Čo je to chyba segmentácie (segfault)? - definícia z technológie