在linux系统中,如果程序运行崩溃,可以通过系统生成的core文件查看崩溃时的堆栈情况
但是一般的系统默认是不生成core文件的
这个设定可以用ulimit -a查看
如果core file size 这一行为0则不会生成core文件
可以手动修改ulimit
命令:ulimit -c unlimited
设定创建的core文件大小为无限制
但是当你注销账号重登陆后发现这个值并没有被保存
因此当服务程序在你下线后崩溃时并不会生成core文件
之后对比了一个可以产生core文件的系统设定,解决方法如下
打开文件/etc/security/limits.conf
在其中添加如下代码
* soft core unlimited
* hard core unlimited
如果这个文件中有对core文件大小设定的代码
如:ulimit -S -c 0之类的,注释掉即可
文件修改完后关闭重登陆即可发现core文件被开启了
++modify at 2015/11/10 11:34
关于core文件没有pid的修改
http://blog.csdn.net/lixin_4055/article/details/8130333
++end