coredump简介与coredump原因总结 第2页
1. 在arm内核里加入coredump的支持(一般内核都支持coredump, 不用重编)
2. 运行命令,此时允许coredump文件产生:(在arm上)
ulimit –c unlimited
3. 执行程序:(在arm上)
./test
在异常退出时,会显示如下信息,注意括号里的内容
Segmentation fault (core dumped)
程序执行目录下将产生*core文件
4. 用gdb分析:(在x86上)
arm-linux-gdb ./test test.core
再用gdb的bt或where看就可以了
(arm-linux-gdb的编译见<调试工具之四gdbserve>)
系统支持生成core并设置存储位置的方法:
1> 在/etc/profile中加入以下一行,项目可行性研究报告 这将允许生成coredump文件
ulimit -c unlimited
2> 在rc.local中加入以下一行,这将使程序崩溃时生成的coredump文件位于/tmp目录下:
echo /tmp/core.%e.%p > /proc/sys/kernel/core_pattern
/tmp/也可以是其它的目录位置。最佳位置应当满足以下需求:
* 对所有用户可写
* 空间容量足够大
* 掉电后文件不丢失