试了很多办法都没生成core文件,我用是ubuntu系统
做了一下两条就在当前目录下生了core文件,然后就可以使用gdb调试
1、ulimit -c filesize,修改core文件的大小,可以先用ulimit -a 查看core file size 对应的值
2、修改/proc/sys/kernel/core_pattern的内容 :ehco core >/proc/sys/kernel/core_pattern
(ehco “core-%e-%p-%t” > /proc/sys/kernel/core_pattern)
以下是参数列表:
%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名
在运行可执行程序后,就可以在当前目录下看到core文件了
使用 gdb ./可执行程序文件名 ./core
就可以调试了
参考文章:
http://blog.csdn.net/shaovey/article/details/2744487
阅读(3565) | 评论(0) | 转发(0) |