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

  • 11
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值