#include #include #include /* Obtain a backtrace and print it to `stdout'. */ void print_trace (void) { void *array[10]; size_t size; char **strings; size_t i; size = backtrace (array, 10); strings = backtrace_symbols (array, size); printf ("Obtained %zd stack frames.\n", size); for (i = 0; i < size; i++) printf ("%s\n", strings[i]); free (strings); } void recurse(int d) { if (d == 0) print_trace(); else recurse(d-1); } int main() { recurse(5); }