#include #include #include #include static void sighandler(int sig, siginfo_t *si, void *uc) { printf("faulting address: 0x%lx\n", (unsigned long)si->si_addr); exit(1); } int main() { struct sigaction sa; sa.sa_sigaction = (void *)sighandler; sigemptyset(&sa.sa_mask); sa.sa_flags = SA_SIGINFO| SA_NODEFER; sigaction(SIGSEGV, &sa, NULL); gettimeofday((void *)0xdeadbeef, NULL); return 0; }