ubuntu20.04如何配置生成core文件?

ubuntu20.04如何配置生成core文件?

在平时的开发过程中很有必要配置生成core文件方便快速定位问题。

如何查看是否开启生成core文件?

  • 如果值是0说明没有开启
1
2
ulimit -c
0
  • 开启方法
1
2
vim /etc/profile
ulimit -c unlimited
  • 更新配置
1
source /etc/profile
  • 修改生产core文件路径与名称
1
2
mkdir /var/core
echo "/var/core/core_%e_%p" > /proc/sys/kernel/core_pattern
  • 关闭apport自动转储,修改配置文件,enabled 设置为0
1
2
vim /etc/default/apport
enabled=0

脚本

1
2
3
4
5
6
7
echo "ulimit -c unlimited" | sudo tee -a /etc/profile
sudo source /etc/profile
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
echo "kernel.core_pattern=core-%e-%p-%s" | sudo tee -a /etc/sysctl.conf
sudo /sbin/sysctl -p
sudo systemctl disable apport.service
sudo systemctl stop apport.service

如果是非root用户可能会设置失败,可以参考下面这篇文章

参考