gdb调试---core文件生成 core文件大小为0
2017-05-10 20:56
239 查看
问题需求:
应用层程序挂掉,出现段错误,但并没有堆栈打印出来,只是一些链接库的打印,而且这种错误一般是必现的。
需要用到gdb调试工具去运行,找到出错的地方。
第一步,出错后生成core文件
1》运行程序支持gdb调试,需在编译时加上 -g 参数
2》指定生成路径和大小
路径: echo “/home/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
大小:ulimit -c unlimited
ps:经常会发现生成的core文件大小为0,原因也各种各样,首先要用ulimit -c命令查看是否大小被限制,其次要确定指定路径大小是否够用,比如我们指定的/home目录;再次就是生成目录进行mount,本人就遇到过这种情况,将生成目录mount到linux服务器上,无法生成core文件,具体原因一直无法知晓,然后将目录mount到pc机是就ok了(记得要打开pc的NFS服务),另外也可以mount到设备的sd卡上也是可行的。附上mount命令:
mount -t nfs -o nolock,tcp 10.34.9.88:/c/public_dev /home;echo “/home/core-%e-%p-%t” > /proc/sys/kernel/core_pattern”;ulimit -c unlimited
应用层程序挂掉,出现段错误,但并没有堆栈打印出来,只是一些链接库的打印,而且这种错误一般是必现的。
需要用到gdb调试工具去运行,找到出错的地方。
第一步,出错后生成core文件
1》运行程序支持gdb调试,需在编译时加上 -g 参数
2》指定生成路径和大小
路径: echo “/home/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
大小:ulimit -c unlimited
ps:经常会发现生成的core文件大小为0,原因也各种各样,首先要用ulimit -c命令查看是否大小被限制,其次要确定指定路径大小是否够用,比如我们指定的/home目录;再次就是生成目录进行mount,本人就遇到过这种情况,将生成目录mount到linux服务器上,无法生成core文件,具体原因一直无法知晓,然后将目录mount到pc机是就ok了(记得要打开pc的NFS服务),另外也可以mount到设备的sd卡上也是可行的。附上mount命令:
mount -t nfs -o nolock,tcp 10.34.9.88:/c/public_dev /home;echo “/home/core-%e-%p-%t” > /proc/sys/kernel/core_pattern”;ulimit -c unlimited
相关文章推荐
- Linux生成core文件及gdb调试
- GDB调试core文件样例(如何定位Segment fault)
- gdb调试,分析core文件,找出段错误位置
- linux gdb调试core文件
- gdb生成core文件
- GDB调试core文件样例(如何定位Segment fault)
- GDB调试core文件样例(如何定位Segment fault)
- GDB调试core文件样例(如何定位Segment fault) 【转】
- 如何让程序crash时生成coredump文件并用gdb调试
- 生成0字节的core文件,gdb 无法识别core 文件
- 利用gdb调试core文件
- 转 GDB 调试 core文件
- linux 为崩溃的程序生成core文件的相关函数,调用代码生成core dump file 但程序不用退出,gdb 分析core
- 用gdb调试core文件
- GDB调试core文件样例(如何定位Segment fault)
- 如何让程序crash时生成coredump文件并用gdb调试
- inux环境生成core文件 &&Linux Core Dump 配置与调试
- 打开linux调试宏开关生成core文件
- 开发过程中的一次GDB调试(段错误,core文件)
- arm-linux-gdb+gdbserver环境搭建以及远程调试 及调试core文件