gcc捕捉系统错误的方法

Posted clever101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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内存错误的程序

以上是关于gcc捕捉系统错误的方法的主要内容,如果未能解决你的问题,请参考以下文章

node.js,捕捉错误所以脚本不会中断?

koa之如何优雅的进行错误捕捉和返回

如何使用带有行号信息的 gcc 获取 C++ 的堆栈跟踪?

使用 GCC 组装会导致 .data 出现奇怪的重定位错误

php错误捕捉

airflow异常捕捉