Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UNW_BACKTRACE(3libunwind)     Programming Library      UNW_BACKTRACE(3libunwind)

NAME
     unw_backtrace -- return backtrace for the calling program

SYNOPSIS
     #include <libunwind.h>

     int unw_backtrace(void **buffer, int size);
     int unw_backtrace2(void **buffer, int size, unw_context_t *ctxt, int flag);

     #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 a practically identical  func-
     tion  called  backtrace().   The prototype for this function is usually ob-
     tained by including the <execinfo.h> header file -- a prototype  for  back-
     trace() 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().

     In case you want to obtain the backtrace from a specific unw_context_t, you
     can  call	unw_backtrace2	with  that  context  passing 0 for flag.  If the
     unw_context_t is known to be a signal frame (i.e., from the third	argument
     in  a  sigaction  handler	on linux), unw_backtrace2 can be used to collect
     only the frames before the signal frame passing  the  UNW_INIT_SIGNAL_FRAME
     flag.

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(3libunwind), unw_step(3libunwind)

AUTHOR
     David Mosberger-Tang
     Email: dmosberger@gmail.com
     WWW: http://www.nongnu.org/libunwind/.

Programming Library		 29 August 2023        UNW_BACKTRACE(3libunwind)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unw_backtrace&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help