这两天碰到一个奇葩的问题,在Linux竟然不能生成core文件,以前没注意,现将处理方法记录下:
在linux平台下,设置core dump文件生成的方法:
1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump。
2) 使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小(但这种方式不一定有效),设置完后,用ulimit -a命令查看core file size,如果是0,程序出错时不会产生core文件。我设置了这个值:ulimit -c 20480,限制了core文件大小,只是把它设置成大了一点,即可正常生成core文件,但这个设置是当前secureCRT会话的设置,如果当前会话关闭,系统又不能生成core文件了
3)如何设置让系统一直都能生成core文件呢?在开发服务器上是非常有必要的,方法为修改linux的环境变量设置文件:
打开文件:vim /etc/profile
在文件最后增加 ulimit -n 2048
执行命令:source /etc/profile
这样就不需要每次都用ulimit -c进行设置了。