C ++:如何制作"核心"遇到新崩溃时是否覆盖转储文件?

时间:2016-09-14 07:40:56

标签: c++ ubuntu core dump overwrite

我有一个简单的c程序来测试"核心转储"行为

$ cat 1.c

int main() 
{ 
   int buf[]={1,2}; 
   int j=buf[20000]+buf[30000]; 
   return 0; 
} 

我做了:

$ ulimit -c unlimited 
$ gcc 1.c 
$ a.out 

它生成一个核心文件,没问题。我跑了#34; a.out"再一次,这次是以前的核心"文件没有被覆盖,除非我手动删除核心文件,然后生成新的核心文件。

问题:如何设置ubuntu linux以确保每次发生崩溃时,新的核心转储文件都会覆盖旧的?

由于

1 个答案:

答案 0 :(得分:2)

您可以切换添加pid到核心文件,因此每次以新的pid核心名称开始的程序都会有新的pid作为'扩展名'

echo 1 > /proc/sys/kernel/core_uses_pid

另外,请阅读this了解更多详情