Linux Dump stack
#includeint dump_stack(void) { int j, nptrs; void *buffer[16]; char ** strings; nptrs = backtrace(buffer,16); ERROR_PRINT("backtrace() returned %d addresses\n",nptrs); strings = backtrace_symbols(buffer, nptrs); if (strings == NULL) { ERROR_PRINT("error backtrace_symbols\n"); return -1; } for(j = 0; j < nptrs; j++) ERROR_PRINT("[%02d] %s\n",j,strings[j]); free(strings); return 0; }
程序出错时Dump stack辅助定位问题,代码如图所示,
详细内容参见:
https://blog.csdn.net/gongmin856/article/details/79192259