c++中打印堆栈信息
编译选项 -g -rdynamic
#include <execinfo.h>
void print_stacktrace() {
void *buffer[100];
int nptrs = backtrace(buffer, 100);
char **strings = backtrace_symbols(buffer, nptrs);
if (strings == NULL) {
perror("backtrace_symbols");
exit(EXIT_FAILURE);
}
for (int i = 0; i < nptrs; i++) {
printf("%s\n", strings[i]);
}
free(strings);
}

浙公网安备 33010602011771号