打印C堆栈函数
jiajiadev 编程语言C
#include <stdio.h>
#include <execinfo.h>
#define STACK_SIZE 32
static void printStack(void)
{
void *trace[STACK_SIZE];
size_t size = backtrace(trace, STACK_SIZE);
char **symbols = (char **)backtrace_symbols(trace,size);
size_t i = 0;
for(; i<size; i++)
{
printf("%d--->%s\n", i, symbols[i]);
}
return;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15