设置core dump文件

linux可以在程序出现段错误后将进程的内存空间保存在一个core格式的文件中,开发人员可用gdb读取这个文件,以了解程序挂掉时的进程空间状态


linux默认配置生成core文件大小是0,也就是不生成。ulimit命令可以设置core的大小

ulimit -c  1024 //core大小为1024字节

ulimit -c unlimited //大小无限

由于linux默认是不生成core文件,在命令行这样打了之后,只对本身的终端有效,也就是只能在该终端运行的程序挂掉了才生成core

---------------------------------------------------------------------------

如果要系统启动就启动这个功能,运行下面的命令

 echo “ulimit -S -c unlimited > /dev/null 2>&1“ >>/etc/profile

sysctl -p


如果要统一设定core的路径和文件名格式,可在/etc/sysctl.conf

kernel.core.pattern=/var/core/%t-%e-%p-%c.core

生成的/var/core/下

%%  %字符本身

%p  生成core文件的进程号

%u  生成core文件的用户id

%g  组ID号

%s  触发core文件的信号编号,也就是程序收到什么型号死的

%t  core文件生成的时刻

%h  主机名

%e  可执行程序名字

%c  core大小上线

posted @ 2012-07-21 16:16  白帆mvp  阅读(360)  评论(0)    收藏  举报