Huis audio Wat is een segmentatiefout (segfault)? - definitie van techopedia

Wat is een segmentatiefout (segfault)? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Segmentatiefout (Segfault)?

Een segmentatiefout (segfault) is een fout die wordt geretourneerd door hardware met geheugenbeveiliging die het besturingssysteem vertelt dat er een toegangsfout is opgetreden. Het besturingssysteem reageert meestal door het aanstootgevende proces via een signaal over de fout te vertellen en vervolgens voert het besturingssysteem een ​​soort corrigerende actie uit. Dit gebeurt omdat een proces of programma toegang probeert te krijgen tot geheugen dat er niet aan is toegewezen.

Een segmentatiefout wordt ook wel een toegangsfout genoemd.

Techopedia verklaart Segmentation Fault (Segfault)

Een segmentatiefout wordt vaak veroorzaakt door fouten in de programmering van een proces of toepassing waarbij het programma toegang krijgt tot geheugen dat niet daarvoor is toegewezen maar voor andere programma's of voor het systeem zelf. Een proces mag geen geheugen aanraken dat niet daarvoor is gereserveerd, omdat het altijd geheugen moet vragen voordat het wordt gebruikt. Daarom treedt een toegangsfout op wanneer het per ongeluk geheugen aanraakt dat er niet aan is toegewezen.


Segfaults kunnen ook worden veroorzaakt door een recursieve functie, die alle stapelruimte die het is toegewezen kan gebruiken en snel inbreuk kan maken op geheugen dat er niet aan is toegewezen. In sommige systemen wordt dit beschouwd als een stack-overflow, maar voor andere is het gewoon een soort toegangsschending.


Een segmentatiefout kan worden afgehandeld door een proces via een aangepaste signaalhandler, maar vaak wordt de standaardsignaalhandler van het besturingssysteem gebruikt, wat meestal tot gevolg heeft dat het aanstootgevende proces abnormaal wordt beëindigd, een crash genoemd, of het besturingssysteem een ​​kerndump afdwingt. .

Wat is een segmentatiefout (segfault)? - definitie van techopedia