ubuntu20.4无法生成core文件如何解决 |
您所在的位置:网站首页 › core文件在哪 › ubuntu20.4无法生成core文件如何解决 |
1、查看coredump是否打开
首先进入root模式,查看当前core文件大小的限制 ulimit -c得到的结果跟对应含义如下: 0 表示关闭,不会生成core文件unlimited 表示core文件的大小无限制 2、修改core文件大小限制可以使用下面的命令来修改这一值 ulimit -c unlimited再次使用ulimit -c命令查看可以看到结果是unlimited。 但是这个只针对当前打开的这个连接终端,新开一个终端可以看到又失效了。 可以到/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_patternubuntu20的服务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 |