1
Programmfehler unter Linux
Programmabstürtze unter Unix werden über Signale gesteuert.
Die Signale typische Fehler führen per default zu einem coredump.
- SIGFPE: floating point exception
sinnlose mathematische Operation:
z.B. teilen durch 0, negativer Logarithmus
- SIGSEGV: Segmentation violation (bzw. Memory Fault)
Zugriff auf Speicher der nicht zum Programm gehört
- Zugriff über unkorrekte Pointer
- Arraygrenzenüberschreitung, schreiben einer Konstante usw.
- Fehler bei der Speicherorganisation
z.B. free ohne malloc
- SIGBUS: Bus error
Unmögliche Anforderung an den Bus zum Speicher
z.B. Alignmentfehler: Adresse muss mehrfaches der Variablenlänge
sein (einige RISC-Architekturen), Adresse weit oberhalb des
verfügbaren Speichers
- SIGILL: Illegal instruction
falscher Maschinenbefehl
z.B. falscher longjmp oder Compilerfehler
- SIGXCPU: CPU time limit exceeded
Rechenzeitüberschreitung
- SIGXFSZ: File size limit exceeded
Filegrößenüberschreitung
Programmfehler sind nicht portabel !