diff options
Diffstat (limited to 'libddekit/printf.c')
-rw-r--r-- | libddekit/printf.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libddekit/printf.c b/libddekit/printf.c index dacc65e6..c4a8b718 100644 --- a/libddekit/printf.c +++ b/libddekit/printf.c @@ -10,6 +10,7 @@ #include <stdlib.h> #include <unistd.h> #include <mach.h> +#include <execinfo.h> #include "ddekit/printf.h" @@ -93,3 +94,14 @@ int log_init () return 0; } + +void dump_stack() +{ +#define NUM_TRACES 16 + void *trace[NUM_TRACES]; + int trace_size = 0; + + fprintf (stderr, "dump the stack\n"); + trace_size = backtrace(trace, NUM_TRACES); + backtrace_symbols_fd(trace, trace_size, 2); +} |