1. 程式人生 > >C語言列印函式堆疊方法

C語言列印函式堆疊方法

程式碼如下

#include <stdio.h>
#include <execinfo.h>

static void printStack(void)
{
	#define STACK_SIZE 32;
	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;
}