FreeBSD manual

download PDF document: unw_backtrace.3.pdf

UNW_BACKTRACE(3) Programming Library UNW_BACKTRACE(3)
NAME unw_backtrace -- return backtrace for the calling program
SYNOPSIS #include <libunwind.h>
int unw_backtrace(void **buffer, int size);
#include <execinfo.h>
int backtrace(void **buffer, int size);
DESCRIPTION unw_backtrace() is a convenient routine for obtaining the backtrace for the calling program. The routine fills up to size addresses in the array pointed by buffer. The routine is only available for local unwinding.
Note that many (but not all) systems provide practically identical function called backtrace(). The prototype for this function is usually obtained by including the <execinfo.h> header file -- a prototype for backtrace() is not provided by libunwind. libunwind weakly aliases backtrace() to unw_backtrace(), so when a program calling backtrace() is linked against libunwind, it may end up calling unw_backtrace().
RETURN VALUE The routine returns the number of addresses stored in the array pointed by buffer. The return value may be zero to indicate that no addresses were stored.
SEE ALSO libunwind(3), unw_step(3)
AUTHOR David Mosberger-Tang Email: dmosberger@gmail.com WWW: http://www.nongnu.org/libunwind/.
Programming Library 31 August 2012 UNW_BACKTRACE(3)