49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
@node backtrace
|
|
@subsection @code{backtrace}
|
|
@findex backtrace
|
|
|
|
LSB specification:@* @url{https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-backtrace-1.html}
|
|
|
|
Documentation:
|
|
@itemize
|
|
@item
|
|
@ifinfo
|
|
@ref{Backtraces,,Backtraces,libc},
|
|
@end ifinfo
|
|
@ifnotinfo
|
|
@url{https://www.gnu.org/software/libc/manual/html_node/Backtraces.html},
|
|
@end ifnotinfo
|
|
@item
|
|
@uref{https://www.kernel.org/doc/man-pages/online/pages/man3/backtrace.3.html,,man backtrace}.
|
|
@end itemize
|
|
|
|
Gnulib module: execinfo
|
|
@mindex execinfo
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function is missing on many platforms:
|
|
musl libc, FreeBSD 9.3, NetBSD 6.1, OpenBSD 6.9, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 10, Cygwin 2.9, mingw, MSVC 14, Android API level 32.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
The second argument is of type @code{size_t}, not @code{int}, on some platforms:
|
|
FreeBSD, NetBSD, OpenBSD.
|
|
@item
|
|
The return value may be @code{(size_t)(-1)} instead of 0 on some platforms:
|
|
FreeBSD 12.4/i386.
|
|
@item
|
|
The returned stack trace is empty if it would not entirely fit into the
|
|
provided buffer on some platforms:
|
|
FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5.
|
|
@item
|
|
The returned stack trace is always empty on some platforms:
|
|
FreeBSD 11.0/i386, FreeBSD 12.2/sparc64.
|
|
@item
|
|
On platforms where the function is missing,
|
|
the Gnulib substitute implementation is just a stub, and does nothing.
|
|
@end itemize
|