Я нарыл способ преобразовывать сигналы типа SIGSEGV в исключения языка C++, которые можно ловить по try/catch, так как это происходит, например, в виндовых компиляторах.
http://www.visualdata.ru/blog/109-segv-signal.html
Сразу прошу не разводить флуд, мол не надо ловить - правильно падать. Прошу потестить подход на различных платформах, версиях компилятора gcc.
Еще хочу сделать на базе этого кроссплатформенную либу под LGPL, облегчающую эту обработку. Не могу придумать название - libsigsegv, libseh уже есть, пока в голову приходит только libsegv или libsegvcatch :)
PS. Уже проверил на opensuse 11.1, на gentoo компилятор gcc-4.3, на MCBC, компилятор gcc-3.3, платформа i386.