Zuhause Audio Was ist ein Segmentierungsfehler (segfault)? - Definition aus techopedia

Was ist ein Segmentierungsfehler (segfault)? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Segmentierungsfehler (Segfault)?

Ein Segmentierungsfehler (Segfault) ist ein Fehler, der von Hardware mit Speicherschutz zurückgegeben wird und dem Betriebssystem mitteilt, dass eine Speicherzugriffsverletzung aufgetreten ist. Das Betriebssystem reagiert normalerweise, indem es dem fehlerhaften Prozess durch ein Signal den Fehler mitteilt, und dann führt das Betriebssystem eine Art Korrekturmaßnahme durch. Dies geschieht, weil ein Prozess oder ein Programm versucht, auf Speicher zuzugreifen, der ihm nicht zugewiesen ist.

Ein Segmentierungsfehler wird auch als Zugriffsverletzung bezeichnet.

Techopedia erklärt Segmentierungsfehler (Segfault)

Ein Segmentierungsfehler wird häufig durch Fehler bei der Programmierung eines Prozesses oder einer Anwendung verursacht, bei der das Programm auf einen Speicher zugreift, der nicht für ihn, sondern für andere Programme oder für das System selbst reserviert wurde. Ein Prozess darf keinen Speicher berühren, der nicht für ihn reserviert ist, da er immer Speicher anfordern muss, bevor er ihn verwendet. Wenn es versehentlich Speicher berührt, der ihm nicht zugewiesen ist, tritt eine Zugriffsverletzung daher auf.


Segfaults können auch durch eine rekursive Funktion verursacht werden, die den gesamten zugewiesenen Stapelspeicher belegt und schnell in den ihm nicht zugewiesenen Speicher eingreift. In einigen Systemen wird dies als Stapelüberlauf betrachtet, in anderen ist dies lediglich eine Art Zugriffsverletzung.


Ein Segmentierungsfehler kann von einem Prozess über einen benutzerdefinierten Signal-Handler behandelt werden. Häufig wird jedoch der Standard-Signal-Handler des Betriebssystems verwendet, der normalerweise dazu führt, dass der fehlerhafte Prozess abnormal beendet wird, als Absturz bezeichnet oder das Betriebssystem einen Core-Dump erzwingt .

Was ist ein Segmentierungsfehler (segfault)? - Definition aus techopedia