Query: backtrace_symbols
OS: osx
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
backtrace(3) BSD Library Functions Manual backtrace(3)NAMEbacktrace, backtrace_symbols, backtrace_symbols_fd -- call stack backtrace and display functionsSYNOPSIS#include <execinfo.h> int backtrace(void** array, int size); char** backtrace_symbols(void* const* array, int size); void backtrace_symbols_fd(void* const* array, int size, int fd);DESCRIPTIONThese routines provide a mechanism to examine the current thread's call stack. backtrace() writes the function return addresses of the current call stack to the array of pointers referenced by array. At most, size pointers are written. The number of pointers actually written to array is returned. backtrace_symbols() attempts to transform a call stack obtained by backtrace() into an array of human-readable strings using dladdr(). The array of strings returned has size elements. It is allocated using malloc() and should be released using free(). There is no need to free the individual strings in the array. backtrace_symbols_fd() performs the same operation as backtrace_symbols(), but the resulting strings are immediately written to the file descriptor fd, and are not returned.EXAMPLE#include <execinfo.h> #include <stdio.h> ... void* callstack[128]; int i, frames = backtrace(callstack, 128); char** strs = backtrace_symbols(callstack, frames); for (i = 0; i < frames; ++i) { printf("%s ", strs[i]); } free(strs); ...HISTORYThese functions first appeared in Mac OS X 10.5.SEE ALSOdladdr(3), malloc(3) Mac OS X February 15, 2007 Mac OS X
Related Man Pages |
---|
backtrace_symbols(3) - mojave |
backtrace(3) - mojave |
backtrace_symbols_fd(3) - linux |
backtrace(3) - debian |
backtrace(3) - osx |
Similar Topics in the Unix Linux Community |
---|
printing a stack trace with backtrace |
MIPS backtrace |
C pointer/array duality confusion |
Memory corruption in dynamic array of strings |
How to Declare an array of function pointers? |