在Linux环境中运行程序,程序崩溃的时候会用什么定位手段呢?其中的一个就是使用core文件.下面介绍下core文件的设置跟生成.
(1).在Linux中打开终端,查看core文件是否打开:
ulimit -a
如果 core file size大小是0,说明没有打开core,需要设置.
(2)设置core文件大小是没有限制的.
ulimit -c unlimited
再次查看:ulimit -a 可以发现size变成unlimited.
注意:如果没有权限设置刚才的命令,可以使用root权限.
su
输入密码即可获取设置权限.
(3)为了让core文件永久生效,可以profile在文件中加上这一句话. ulimit -c unlimited
终端: vim /etc/profile
(编辑:i;加上ulimit -c unlimited之后,退出:Esc键;保存: :wq)
加上之后可使用 cat /etc/profile 查看是否加入成功.
注意:etc文件是在Linux的根目录下:
(3)自己新建一个coredump文件夹专门用来存放产生的coredump文件.
mkdir /corefile
设置coredump,将生成的coredump路径设置成新建的文件夹.
echo /corefile/core.%e.%p> /proc/sys/kernel/core_pattern
以上,coredump文件处不设置完成.可以测试一下啦.
测试:
kill -s SIGSEGV $$
ll /corefile