C++:如何使 "core" 转储文件在遇到新的崩溃时被覆盖?
C++: How to make "core" dump file being overwritten when new crash is encountered?
我有一个简单的 c 程序来测试 "core dump" 行为
$猫1.c
int main()
{
int buf[]={1,2};
int j=buf[20000]+buf[30000];
return 0;
}
我做到了:
$ ulimit -c unlimited
$ gcc 1.c
$ a.out
生成核心文件,没问题。我又运行"a.out",这次没有覆盖之前的"core"文件,除非我手动删除core文件,然后生成新的core文件。
问题:如何设置 ubuntu linux 以确保每次发生崩溃时,新的核心转储文件都会覆盖旧的?
谢谢
您可以切换将 pid 添加到核心文件,这样每次程序以新的 pid 核心名称启动时都会有新的 pid 作为 'extension'
echo 1 > /proc/sys/kernel/core_uses_pid
此外,阅读 this 了解更多详情
我有一个简单的 c 程序来测试 "core dump" 行为
$猫1.c
int main()
{
int buf[]={1,2};
int j=buf[20000]+buf[30000];
return 0;
}
我做到了:
$ ulimit -c unlimited
$ gcc 1.c
$ a.out
生成核心文件,没问题。我又运行"a.out",这次没有覆盖之前的"core"文件,除非我手动删除core文件,然后生成新的core文件。
问题:如何设置 ubuntu linux 以确保每次发生崩溃时,新的核心转储文件都会覆盖旧的?
谢谢
您可以切换将 pid 添加到核心文件,这样每次程序以新的 pid 核心名称启动时都会有新的 pid 作为 'extension'
echo 1 > /proc/sys/kernel/core_uses_pid
此外,阅读 this 了解更多详情