#include <stdio.h>
#include <stdlib.h>
#include <execinfo.h>
void print_backtrace(void)
{
void *bt[64];
char **btsym;
int i, n;
n = backtrace(bt, sizeof(bt)/sizeof(bt[0]));
btsym = backtrace_symbols(bt, n);
/* get all backtrace, including this function */
for (i = 0; i < n; i++) {
printf("%s:backtrace[%d]=%s\n", __FUNCTION__, i, btsym[i]);
}
free(btsym);
}
void main(void)
{
print_backtrace();
}