SegFaults

Angelegt von Andreas Steinel Fri, 19 Oct 2007 11:28:00 GMT

Hier ein Beispielcode um einen SegFault unter Linux/Unix abzufangen. Mich hat es interessiert, ob soetwas möglich ist und ja es ist möglich:

#include <signal.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void sig_handler(int sig)
{
     printf("Signal %i occured ... exiting\n", sig);
     exit(0);
}

int main()
{   
    struct sigaction act;
    memset(&act, 0, sizeof(act));
    act.sa_handler = sig_handler;       // define signal handler
    act.sa_flags   = SA_RESETHAND;      // reset to default after execution

    sigaction(SIGSEGV, &act, NULL);     // register signal handler

    printf("%s\n",0x001);               // produce segfault
    return 0;
}

Posted in , ,  | keine Kommentare | keine Trackbacks

Comments

Trackbacks

Verwenden Sie den folgenden Link zur Rückverlinkung von Ihrer eigenen Seite:
http://andreas.familie-steinel.de/trackbacks?article_id=394

Kommentare sind deaktiviert