#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
print_trace (void)
{
void *array[10];
char **strings;
int size, i;
size = backtrace (array, 10);
strings = backtrace_symbols (array, size);
if (strings != NULL)
{
printf Obtained %d stack frames.\n", size);
for (i = 0; i < size; i++)
{
printf ("%s\n", strings[i]);
}
}
free (strings);
}
linux c打印调用栈信息代码
最新推荐文章于 2025-02-08 19:29:10 发布
该博客介绍了一个C语言实现的堆栈回溯函数print_trace(),它利用backtrace()和backtrace_symbols()从当前进程获取并打印出调用栈信息。此功能对于调试和理解程序执行流程非常有用。

5965

被折叠的 条评论
为什么被折叠?



