From 17abb551cedc46690e13e73d43100e68b631c02f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 17 Jan 2001 16:51:27 +0000 Subject: Example for backtrace() functions. --- manual/examples/execinfo.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 manual/examples/execinfo.c diff --git a/manual/examples/execinfo.c b/manual/examples/execinfo.c new file mode 100644 index 0000000..5a04901 --- /dev/null +++ b/manual/examples/execinfo.c @@ -0,0 +1,37 @@ +#include +#include +#include + +/* Obtain a backtrace and print it to @code{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); +} + +/* A dummy function to make the backtrace more interesting. */ +void +dummy_function (void) +{ + print_trace (); +} + +int +main (void) +{ + dummy_function (); + return 0; +} -- cgit v1.1