1、打开core dump文件的开关
vi /etc/abrt/abrt-action-save-package-data.conf
ProcessUnpackaged = yes

2、设置core dump文件大小不限制
ulimit -c unlimited

永久生效办法:
#vi /etc/profile #最后一行加上: ulimit -c unlimited
或使用source命令使之马上生效:
#source /etc/profile

3、设置core dump文件名包含PID:
echo 1 > /proc/sys/kernel/core_uses_pid

4、设置core dump文件的命名格式:
echo "/tmp/corefile/core-%e-%s-%t-%u"> /proc/sys/kernel/core_pattern

%格式的含义如下:
%c 转储文件的大小上限
%e 所dump的文件名
%g 所dump的进程的实际组ID
%h 主机名
%p 所dump的进程PID
%s 导致本次coredump的信号
%t 转储时刻(由1970年1月1日起计的秒数)
%u 所dump进程的实际用户ID

永久修改core dump文件生效
/sbin/sysctl -w kernel.core_pattern=/tmp/corefile/core-%e-%s-%t-%u


5、创建test.c ,放在某个Liunx目录,内容如下:
#include<stdio.h>
int main()
{
int *p = NULL;
*p = 0;
return 0;
}

6、进入Liunx目录,分别调试c程序执行如下两个命令,然后去看core dump文件是否按照格式生成:
gcc -o test test.c
./test

或者
gcc -g test.c -o a.out
./a.out

相关文章:

  • 2021-12-09
  • 2022-12-23
  • 2022-01-16
  • 2021-05-25
  • 2021-12-05
  • 2021-08-05
  • 2021-08-15
  • 2021-12-11
猜你喜欢
  • 2022-12-23
  • 2021-11-27
  • 2022-01-08
  • 2022-12-23
  • 2021-05-24
  • 2021-05-30
  • 2021-11-20
相关资源
相似解决方案