设置 core_pattern
我们的程序 core 之后,我们想要得到 core dump 文件。一般需要设置 core 文件大小;然后设置 core 文件位置。
使用 ulimit -c
查看 core 文件大小。使用 ulimit -c unlimited
设置允许 core 文件的大小。
设置 core 文件位置。在 ubuntu 上,
1 2 3 4
| cat /etc/sysctl.conf 向这个文件写入 kernel.core_pattern = ./core.%e.%p.%t sudo sysctl -p
|
在 ubuntu 上,系统的 apport 服务将其自身注册为系统的核心转储处理程序,他强制覆盖用户在 /etc/sysctl.conf
中指定的设置,并且不使用 /etc/sysctl.d
。apport 的功能是上报内部错误,关闭后不影响 ubuntu 系统的正常工作。因此我们手动关闭 apport 服务
Ubuntu 18.04
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo systemctl stop apt-daily.timer sudo systemctl stop apt-daily.service
sudo systemctl stop apt-daily-upgrade.timer sudo systemctl stop apt-daily-upgrade.service
sudo systemctl disable apt-daily.service sudo systemctl disable apt-daily.timer sudo systemctl disable apt-daily-upgrade.timer sudo systemctl disable apt-daily-upgrade.service
systemctl stop apport.service systemctl disable apport.service sed -i 's@enabled=1@enabled=0@g' /etc/default/apport # 永久关闭
sysctl -p
|