打印栈回溯
打印栈回溯
#include "execinfo.h"
#include "stdio.h"
#include "stdlib.h"
void print_stacktrace()
{
int size=128;
void* array[128];
int stack_num = backtrace(array, size);
char ** stacktrace = backtrace_symbols(array, stack_num);
for(int i =0; i< stack_num; ++i)
{
errorf("%s \n", stacktrace[i]);
}
free(stacktrace);
}
然后通过addr2line -e 可执行文件 -f -C 栈地址
对栈信息进行解析