Core文件产生及处理方式
core的信号处理方式 : 终止进程 + 产生core文件
当执行下面的代码后,会出现段错误:
通常在linux中为了调试,快速找到出现问题的地方,会产生一个core文件
但一般来说,如果没有经过配置,core 文件大小是0,必须先设置一下,通过ulimit -a可以查看到:
设置方法:
ulimit -c unlimited
取消方法则是:
ulimit -c 0
还可以设置生成的core文件格式:
/proc/sys/kernel/core_pattern
这个文件,不能直接用VI,会显示没有权限,但可以在root权限下用重定向实现修改:
echo "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 添加命令名