ubuntu20.04 如何生成core文件
Posted Jqivin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu20.04 如何生成core文件相关的知识,希望对你有一定的参考价值。
在网上找到一些答案,总结如下:
1. 查看是否打开了coredump
ulimit -c //未设置之前
0
可以使用下面命令修改
ulimit -c 1024
ulimit -c unlimited //大小不受限
但是这个只是针对当前这个连接,如果想要永久修改可以修改配置文件:
vim /etc/profile
,然后添加上面的命令ulimit - c unlimited
.然后执行source /etc/profile
或者重启使刚刚的配置可以生效。
Ubuntu20.4 坑1:
这样修改并不能永久改变,因为在终端执行ulimit -c查看,并不是我们设置的结果。
2.设置core文件存储路径
打开文件 /etc/sysctl.conf
,添加以下内容:
kernel.core_pattern = /var/core/core_%e_%p
kernel.core_uses_pid = 0 //是否加上pid
然后reboot。
这样看似完成了,但是被ubuntu server 20.04的core生成机制给坑了一把。所以还是生成不了。
cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c %d %P %E
ubuntu的服务apport.service。自动生成崩溃报告,官方为了自动收集错误的。这个玩意会导致core_pattern的设置不能一直有效,只要这个服务存在,系统重新启动后就会把core_pattern改为一个特定的值,直接导致coredump无法生成。
这个服务对我们来说,基本没用。修改/etc/default/apport
文件,enabled 设置为0。这个时候再看一下:
cat /proc/sys/kernel/core_pattern
/var/core/core_%e_%p
# ./test
段错误 (核心已转储)
# cd /var/core
root@jqw-virtual-machine:/var/core# ls
core_test_2422
参考:
https://blog.csdn.net/qq_16019185/article/details/82620803
https://blog.csdn.net/qq_15328161/article/details/109085705
以上是关于ubuntu20.04 如何生成core文件的主要内容,如果未能解决你的问题,请参考以下文章
RK3399系统移植 | 基于 ubuntu core 20.04 构建根文件系统