coredump简介与coredump原因总结 第2页

(假设下例是在x86上交叉编译,而在arm上运行异常的现象)

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/也可以是其它的目录位置。最佳位置应当满足以下需求:
* 对所有用户可写
* 空间容量足够大
* 掉电后文件不丢失

上一页  [1] [2] 

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有