You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04中Core Dump仅在/var/crash生成的原因咨询

问题原因分析:仅在/var/crash目录生成Core Dump的现象

你的问题核心原因是Ubuntu 20.04默认的崩溃报告服务apport接管了Core Dump的处理流程,而非直接生成传统的core文件,具体逻辑如下:

  1. core_pattern配置的指向
    从你提供的/proc/sys/kernel/core_pattern内容可以看到,系统把core dump的处理交给了apport:

    |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E
    

    这里的管道符|表示内核会把core dump数据传给后面的apport程序处理,而不是直接写入本地文件。

  2. apport的目录规则

    • /var/crash是apport默认的崩溃报告存储目录,当程序在该目录运行崩溃时,apport会直接将包含core dump的崩溃报告写入该目录(即你看到的_var_crash_a.out.1000.crash文件)。
    • 在其他目录(如/home/ubuntu)运行程序时,apport默认不会在当前目录生成可见的core文件,而是会按照系统配置在后台处理崩溃信息,不会在用户目录留下直观的dump文件。
  3. "Aborted (core dumped)"的含义
    终端显示的这个提示只是内核层面的反馈,表示触发了core dump的条件,但实际的dump数据已经被apport接管处理,并没有生成传统的core文件留在当前目录。

解决办法(如需生成传统core文件)

如果希望在程序崩溃的当前目录生成标准core文件,可以修改core_pattern配置:

echo "core.%p" | sudo tee /proc/sys/kernel/core_pattern

修改后,程序崩溃时会在当前目录生成core.进程ID格式的core dump文件。

内容的提问来源于stack exchange,提问作者myquest6 sh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:03:17