SIGILL

SIGILL
Beskrivelse Ugyldig instruktion
Standard ende med et hukommelsesdump
SA_SIGINFO Koder
ILL_ILLOPC ugyldig opkode
ILL_ILLOPN ugyldig operand
ILL_ADR ugyldig adressering
ILL_ILLTRP ugyldig fælde
ILL_PRVOPC privilegeret drift
ILL_PRVREG privilegeret register
ILL_COPROC coprocessor fejl
ILL_BADSTK stak fejl

POSIX - systemer er SIGILL  et signal, der sendes til en proces, når den forsøger at udføre en forkert udformet, ikke-eksisterende eller privilegeret instruktion.

SIGILL er en heltalskonstant defineret i signal.h. De symbolske navne på signalerne bruges i stedet for numrene, da numrene på signalerne kan være forskellige i forskellige implementeringer.

Etymologi

SIG  er et almindeligt signalpræfiks (fra engelsk  signal ), ILL  er en forkortet stavning af engelsk.  ulovlig  undervisning

Brug

Der er mange grunde til SIGILL. En af de mest almindelige årsager er en kontroloverførsel til en tilfældig hukommelsesplacering - som et resultat af kontroloverførsel gennem en ikke-initialiseret eller beskadiget pointer (eller returadresse på stakken). Andre tilfælde omfatter compilerfejl, korruption af filsystemet eller et forsøg på at udføre en instruktion, der kræver særlige privilegier.

På mange platforme, efterhånden som hardware udvikler sig, introduceres nye instruktioner, registre og lignende, og applikationer bygget til moderne hardware kan indeholde instruktioner, der ikke genkendes på ældre hardware. For eksempel vil SIGILL forekomme, når du forsøger at udføre MMX-instruktioner på en i486- processor , der ikke understøtter dem.

SIGILL kan blive fanget eller ignoreret. Men at ignorere SIGILL kan i nogle tilfælde føre til uforudsigelige resultater.