ubuntu20.4无法生成core文件如何解决

您所在的位置:网站首页 core文件在哪 ubuntu20.4无法生成core文件如何解决

ubuntu20.4无法生成core文件如何解决

2024-01-18 15:56| 来源: 网络整理| 查看: 265

1、查看coredump是否打开

首先进入root模式,查看当前core文件大小的限制

ulimit -c

得到的结果跟对应含义如下:

0 表示关闭,不会生成core文件unlimited 表示core文件的大小无限制 2、修改core文件大小限制

可以使用下面的命令来修改这一值

ulimit -c unlimited

再次使用ulimit -c命令查看可以看到结果是unlimited。

但是这个只针对当前打开的这个连接终端,新开一个终端可以看到又失效了。 在这里插入图片描述

3、设置core存储路径

可以到/etc/sysctl.conf中,在文件末尾添加上core文件的存储路径:

kernel.core_pattern=/corefile/core_%e_%p_%t

其中命名参数含义如下:

%e:文件名%p:进程号%t:unix时间

保存之后reboot按理说是可以解决了,但是就恰好上了ubuntu20的core生成机制的当。

这时查看当前core文件的存储路径会发现跟自己保存的不一样。

cat /proc/sys/kernel/core_pattern

ubuntu20的服务apport.service会自动生成崩溃报告,这个服务导致core_pattern不能生效。

4、关闭apport.service服务

这时可以关闭apport.service这个服务

sudo systemctl disable apport.service

如果这个命令无法关闭的话,可以修改/etc/default/apport文件,将enable改成0

/etc/default/apport 5、测试生成core文件

这时可以测试一下能否生成core文件

测试代码如下:

#include #include #include int main(int argc, char *argv[]) { char *ptr = NULL; strncpy(ptr, "abc", 3); return 0; }

在这里插入图片描述

也可以对core进行调试(gdb)。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3