$ gcc -g -O0 test.c -lexecinfo $ ./a.out # new libc ^Cx 2 Backtrace 3 stack frames. 0x400bb0 at ./a.out 0x7f7ff72a5290 <__sigtramp_siginfo_2> at /usr/lib/libc.so.12 0x400c03 at ./a.out $ ./a.out # old libc ^Cx 2 Backtrace 1 stack frames. 0x400bb0 at ./a.out $ cat test.c #include #include #include #include static void handler(int s) { printf("x %d\n", s); void *array[10]; size_t size = backtrace (array, 10); printf ("Backtrace %zd stack frames.\n", size); backtrace_symbols_fd (array, size, 2); } int main(int argc, char **argv) { signal(SIGINT, handler); for (;;) continue; return 0; }