Ein Segmentation Fault tritt auf, wenn ein Programm auf einen Speicherbereich zugreifen will, der ihm nicht zugeteilt wurde (unter Windows als "Allgemeine Schutzverletzung" bekannt).

Ursache dafür können Programmierfehler, aber häufig auch Hardwaredefekte sein.

So ein Fehler wird von Linux durch das Signal 11 (SIGSEGV) an die Anwendung gemeldet und diese wird dann (zwangsweise) beendet. Einige Programme (z.B. KDE oder GNOME) reagieren auf diesen Fehler und können direkt einen Fehlerreport generieren. Dabei wird nichts anderes gemacht, als ein "Backtrace" (wie unten beschrieben) ausgeführt.

Außer dass die Anwendung abstürzt, hat ein solcher Fehler keine Auswirkungen auf das System.

Wenn der Fehler nicht auf einen Hardwaredefekt zurückzuführen ist, kann man das Programm im Debugger laufen lassen, um herauszufinden, an welcher Stelle der Fehler auftritt, um dies dem Programmierer zu melden - siehe gdb. Oft sind solche Fehler auf malloc() zurückzuführen - siehe '''man mtrace'''.

Der letzte Absatz ist der Backtrace? Eigene Überschrift?

SegmentationFault (zuletzt geändert am 2007-12-23 22:48:41 durch localhost)