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  ar-
       ray pointed by buffer.  The routine is only available for local unwind-
       ing.

       Note  that  many	 (but not all) systems provide a practically identical
       function	called backtrace().  The prototype for this function  is  usu-
       ally  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().

       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+14.3.quarterly>

home | help