您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: