C语言写的程序跑飞了,如何打印出函数调用链呢?
linux_dev_framework软件包中的trace_exception_test.c就是一个实现示例。
该程序故意产生一个内存访问异常,然后打出调用链。
程序源码:
/*
* 本软件为免费、开源软件。
* 本软件的版权(包括源码及二进制发布版本)归一切公众所有。
* 您可以自由使用、传播本软件。
* 您也可以以任何形式、任何目的使用本软件(包括源码及二进制发布版本),而不受任何版权限制。
* =====================
* 作者: 孙明保
* 邮箱: sunmingbao@126.com
*/
#include <stdio.h>
#include "debug.h"
#include "trace_exception.h"
//下面的代码故意产生一个内存访问异常
static int a;
int __attribute__((noinline)) gen_SIGS

当C语言程序遇到SIGSEGV异常时,可以通过分析工具或特定代码来打印函数调用链。例如,linux_dev_framework软件包中的trace_exception_test.c提供了示例,它模拟内存访问异常并输出调用链信息,帮助开发者定位问题。
最低0.47元/天 解锁文章
6849

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



