blob: c383eeb37a166f313ff24cccfced4384728e2e21 [file] [log] [blame]
\begin{Name}{3}{unw\_backtrace}{David Mosberger-Tang}{Programming Library}{unw\_backtrace}unw\_backtrace -- return backtrace for the calling program
\File{\#include $<$libunwind.h$>$}\\
\Type{int} \Func{unw\_backtrace}(\Type{void~**}\Var{buffer}, \Type{int}~\Var{size});\\
\File{\#include $<$execinfo.h$>$}\\
\Type{int} \Func{backtrace}(\Type{void~**}\Var{buffer}, \Type{int}~\Var{size});\\
\Func{unw\_backtrace}() is a convenient routine for obtaining the backtrace for
the calling program. The routine fills up to \Var{size} addresses in the array
pointed by \Var{buffer}. The routine is only available for local unwinding.
Note that many (but not all) systems provide practically identical function
called \Func{backtrace}(). The prototype for this function is usually obtained
by including the \File{$<$execinfo.h$>$} header file -- a prototype for
\Func{backtrace}() is not provided by \Prog{libunwind}. \Prog{libunwind} weakly
aliases \Func{backtrace}() to \Func{unw\_backtrace}(), so when a program
calling \Func{backtrace}() is linked against \Prog{libunwind}, it may end up
calling \Func{unw\_backtrace}().
\section{Return Value}
The routine returns the number of addresses stored in the array pointed by
\Var{buffer}. The return value may be zero to indicate that no addresses were
\section{See Also}
David Mosberger-Tang\\
Email: \Email{}\\
WWW: \URL{}.