gcc捕捉系统错误的方法

作者:朱金灿
来源:clever101的专栏

  主要有两种方法。

一.利用core文件(参考参考文献三)

1.生成core文件,大致流程:

#检查系统打开了生成core文件的限制
ulimit  -a
#允许生成core文件
ulimit -c unlimited
#再次检查系统是否成功打开了生成core文件的限制
ulimit  -a
#运行程序生成core文件
./demoApp -crs

2. 使用gdb查看core文件,执行命令:

gdb  -e ./demoApp -c core
#查看有几个线程
info threads
#检查线程1
thread 1 
#跟踪线程
bt

二.自己编写跟踪函数

参考文献2。

参考文献:
1.How to automatically generate a stacktrace when my program crashes
2.嵌入式arm开发C语言调用栈回溯实战
3.如何找出发生SEGV内存错误的程序

猜你喜欢

转载自blog.csdn.net/clever101/article/details/127201401