简单直接Linux下开启Core功能

1. 查看Core是否开启

命令:ulimit -c

如果返回 0 则证明没有开启

 

2. 开启Core

命令:ulimit -c size;

size 可以写整数,比如1024,或者 unlimited 无限度。

 

3. /proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。
可通过以下命令修改此文件:
echo "1" > /proc/sys/kernel/core_uses_pid

 

4.修改Core生成路径:

命令:sysctl -w name=value命令

例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p      这个/var/log 是要生成的Core文件路径。

为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命名:
%% 单个%字符
%p 所dump进程的进程ID
%u 所dump进程的实际用户ID
%g 所dump进程的实际组ID
%s 导致本次core dump的信号
%t core dump的时间 (由1970年1月1日计起的秒数)
%h 主机名
%e 程序文件名

生效:source /etc/profile


5.简单查看Core文件.

命令gdb [exec file] [core file]

比如: gdb ./mygame /log/var/mgame.111.core

bt  查看错误堆栈。

你可能感兴趣的:(简单直接Linux下开启Core功能)