linux基础
无法生成core文件
- 编辑 /etc/security/limits.conf 文件:
在文件中添加以下两行来将核心转储文件的限制设置为无限制:
- soft core unlimited
- hard core unlimited
确保对该文件的更改能够生效,您可能需要注销并重新登录您的用户会话,或者重新加载配置文件。
- 检查 /etc/sysctl.conf 文件及 /etc/sysctl.d/ 目录中的配置:
检查这些文件中是否存在与核心转储文件相关的设置,确保没有将核心转储文件的生成禁用或限制到一个非常小的大小。
您可以使用以下命令来查看文件内容:
sudo vim /etc/sysctl.conf
ls /etc/sysctl.d/
- 修改 /etc/sysctl.conf 文件来设置核心转储文件的保存路径和文件名格式:
使用文本编辑器打开 /etc/sysctl.conf 文件,添加以下行来设置核心转储文件的保存路径和文件名格式:
kernel.core_pattern = /var/core/core.%e.%p
kernel.core_uses_pid = 1
kernel.core_dump = 1
保存文件并重新加载内核参数配置,以使新的设置生效:
sudo sysctl –system
- 确保允许生成核心转储文件的限制已经设置为无限制:
使用 ulimit -c unlimited 命令来将允许生成核心转储文件的大小限制设置为无限制。
确保在执行您的程序之前,核心转储文件大小限制已经正确地设置为无限制。
- sudo vim ~/.bashrc
- 添加上ulimit -c unlimited