1. 使用ulimit -a,查看core文件的信息。
core file size,这一行为0,则表示关闭了此功能,不会生成core文件。
2. 打开core dump。
在当前编译的终端,使用ulimit -c unlimited命令,允许当前生成没有大小限制的core file.
(unlimited也可以为生成core文件的大小,单位为kbyte.)
3. 当程序crash退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。
4. 利用gdb查看core
$ gdb
exe-file core.xxxx
进去后使用bt或者where,查看出错地方。
注意:待调试的可执行文件,在编译的时候需要加-g,core文件才能正常显示出错信息!
下面是3515上使用core dump的经历:
1、pc上运行的arm-hismall-linux-gdb不能解析core dump,用pc的gdb也不行。
不能成功的原因,core dump的文件和gdb不配套导致的。
成功的操作步骤:
1、3515sdk/pub/resource/gdb-6.8/目录下的是板子上运行的gdb,在板子上运行gdb。
2、file xxx
3、core-file xxx