Hjem Audio Hva er en segmenteringsfeil (segfault)? - definisjon fra techopedia

Hva er en segmenteringsfeil (segfault)? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Segmentation Fault (Segfault)?

En segmenteringsfeil (segfault) er en feil som returneres av maskinvare med minnebeskyttelse som forteller operativsystemet at det har skjedd et brudd på minnetilgang. Operativsystemet reagerer vanligvis ved å fortelle den fornærmende prosessen om feilen gjennom et signal, og deretter utfører operativsystemet en slags korrigerende handling. Dette skjer fordi en prosess eller et program prøver å få tilgang til minne som ikke er tilordnet det.

En segmenteringsfeil er også kjent som en tilgangsbrudd.

Techopedia forklarer Segmentation Fault (Segfault)

En segmenteringsfeil er ofte forårsaket av feil i programmeringen av en prosess eller applikasjon der programmet ledes til tilgangsminne som ikke ble tildelt for det, men for andre programmer eller for selve systemet. En prosess har ikke lov til å berøre minnet som ikke er forbeholdt det, da det alltid må be om minne før du bruker det. Derfor, når det ved et uhell berører minnet som ikke er tilordnet det, oppstår en tilgangsbrudd.


Segfaults kan også være forårsaket av en rekursiv funksjon, som kan bruke opp all bunkeplassen den er tildelt og raskt innhente minne som ikke er tilordnet den. I noen systemer regnes dette som en overflate av bunker, men for andre er det ganske enkelt en slags tilgangsbrudd.


En segmenteringsfeil kan håndteres av en prosess gjennom en tilpasset signalbehandler, men ofte er det operativsystemets standard signalhåndterer som blir brukt, noe som vanligvis resulterer i at den fornærmede prosessen avsluttes unormalt, kalt en krasj, eller at OS tvinger en kjernedump .

Hva er en segmenteringsfeil (segfault)? - definisjon fra techopedia