ulimit -a命令查看使用情况
1. ulimit -c unlimited 可以生成core文件
2.设置core文件名称带进程id(PID),修改"/proc/sys/kernel/core_uses_pid"
文件,可以将进程的id作为作为扩展名,文件内容为1表示使用扩展名,默认为0;使用进程id扩展名时,生成的core文件格式为"core.xxx"
,xxx为进程id。
3. echo './core' > /proc/sys/kernel/core_pattern 修改生成core文件的路径,注意:/proc/sys/下面的文件为内存镜像文件,不能用vi修改。 echo './core-%e-%p-%t' > /proc/sys/kernel/core_pattern
%%:输出一个单一的 % 字符。
%p:被转储进程的PID。
%u:被转储进程的实际用户ID。
%g:被转储进程的实际组ID。
%s:导致产生核心转储的信号名称。
%t:核心转储文件生成时的UNIX时间戳。
%h:主机名。
%e:可执行文件的文件名。
%E:与%e相同,但文件名被转义,以便在shell中安全使用。
4、【重要!!】打开 /etc/security/limits.conf文件(使ulimit -c ulimited 设置永久生效)
vi /etc/security/limits.conf
添加两行:
* soft core unlimited
* hard core unlimited
目前未解决问题:求赐教:使用gdb命令输入core文件前缀,无法按下TAB键盘进行补全操作