很多平台都会进行ulibc库的裁剪,以减小库的大小,但是在程序开发的过程中,难以避免出现段错误,这时候backtrace的功能就显现出来了,可以直接打印出相关的栈调用信息,很方便的解决问题。所以需要我们自己在应用层实现bancktrace函数,代码如下:
extern void * __libc_stack_end;
struct backtrace_frame_t
{
void * fp;
void * sp;
void * lr;
void * pc;
};
int backtrace(void ** array, int size)