linux编译c/c+程序会出现段错误,单单是出现段错误什么也没留下的话,调试就比较麻烦。

为了解决这个问题,我们可以设置段错误吐核。

这种设置有两种

一种是当前shell有效,另一种是永久有效。

第一种当前shell有效:

首先

ulimit -a查看是否设置段错误吐核,如下图中core file size大小为0,这是属于没设置吐核的 

ulimit -c 100设置吐核文件大小上限为100k,这个是临时有效,退出shell就无效了

第二种永久有效:

编辑.profile文件在里面加入ulimit -c unlimited是修改立即生效(或者重启后生效),然后查看ulimit -a

vi ~/.profile

ulimit -c unlimited

source ~/.profile

ulimit -a

 

查看生成core,如下图:

上图中core没有编号,新生成的core会把他覆盖掉

执行 echo 1 > /proc/sys/kernel/core_uses_pid如下图,如果没有权限就使用root:

生成带编号的core,生成再多的core都不会覆盖其他的core,如下图:

Logo

更多推荐