记一次生成core_dump文件的调查记录

devtools/2025/3/1 11:04:17/

1. 启用 core dump

在默认情况下,Linux 可能不生成 core dump 文件。要启用它,需要调整 shell 的 core dump 限制:

  • 查看当前限制,执行命令:
ulimit -c

如果返回值为 0,则表示禁用了 core dump。

  • 启用 core dump
    设置为无限制:
ulimit -c unlimited

上述设置仅在当前的终端有效,如果新建终端或者关闭了此终端,需要重新配置。
如果需要永久设置,可以把这条命令加入到 shell 的启动脚本(比如 ~/.bashrc)中。

  • 查看、设置 core dump 文件路径和文件名
    查看默认core dump文件路径命令如下:
cat /proc/sys/kernel/core_pattern

在很多传统的 Linux 系统中,该参数的默认值通常是简单的 core,这意味着当程序崩溃时,core dump 文件会在崩溃进程的当前工作目录中生成一个名为 core(或类似名称,如 core.1234)的文件。
但需要注意的是,在一些现代 Linux 发行版中(特别是使用 systemd 的系统),/proc/sys/kernel/core_pattern 的默认值可能被设置为将 core dump 输出管道传递给 systemd-coredump,例如:

|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %e
或者
|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E #apport也是一个收集crash信息的进程。

如果发现/proc/sys/kernel/core_pattern 前面输出待**“|”**的,则说明默认情况下并不会生成core_dump文件,是否生成取决于对应的进程是否开启;
可以通过修改 /proc/sys/kernel/core_pattern 来指定生成 core 文件的存放位置和文件名。例如:

echo "/tmp/core_%e.%p" | sudo tee /proc/sys/kernel/core_pattern

上述命令表示生成的 core dump 文件保存在 /tmp 目录,文件名格式为 core_程序名.进程号。
上述操作同样只针对当前终端。

2. 查找core dump文件

如果发现core dump文件并没有生成,可以根据/proc/sys/kernel/core_pattern的结果去查找对应的日志;
比如,如果使用的是|/usr/share/apport/apport,那么去/var/log中查找apport进程的日志,日志中会记录是否生成core_dump文件;确定文件名后,直接暴力搜索:

sudo find / -type f -name "core.xxx" 2>/dev/null

即可确定路径。
备注:apport进程生成的crash并不在/var/crash/文件中,而是在/var/lib/apport/中;因此如果找不到某个文件,直接暴力搜索。


http://www.ppmy.cn/devtools/163596.html

相关文章

快速列出MS Word中所有可用字体

Word中有很多字体,虽然在字体下拉列表中提供了字体的样例,但是并不全面,例如使用Batang字体的话,数字会显示成什么效果,就无法直观的看到。 打开Word应用程序,新建一个空白文档,按AltF11打开VBE…

汽车悬架系统技术演进:从被动到全主动的革新之路(主动悬架类型对比)

在汽车工业的百年发展史中,悬架系统始终是平衡车辆性能与舒适性的关键战场。随着消费者对驾乘体验要求的不断提升,传统被动悬架已难以满足中高端车型的需求,而半主动与全主动悬架技术的崛起,正在重塑行业格局。本文将深入解析三大…

C++和OpenGL实现3D游戏编程【连载23】——几何着色器和法线可视化

欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 1、本节实现的内容 上一节课,我们在Blend软件中导出经纬球模型时,遇到了经纬球法线导致我们在游戏中模型光照显示问题,我们在Blender软件中可以通过…

【运维工具】今天就聊APM

文章目录 什么是APM?**什么是 APM?****APM 的核心目标****APM 的主要功能****APM 的应用场景****APM 的分类****APM 的优势****总结** APM框架有哪些?一、开源 APM 框架1. **Pinpoint**2. **SkyWalking**3. **Zipkin**4. **Jaeger**5. **OpenTelemetry*…

【压力测试】

压力测试 一、背景与现状1、引言2. 压力测试与不可忽视的α3. 制度演变:从公募基金到理财产品4. 行业实践仍处于早期阶段5. 理财产品压力测试的优化路径 二、压力测试介绍1. 压力测试的定义2. 压力测试的步骤 一、背景与现状 1、引言 20世纪末,随着世界…

利用DeepSeek-Kimi打通Excel与PPT的链条,自动生成数据分析报告

通过DeepSeek在Excel生成结构化的数据分析报告,再借助Kimi的PPT助手将报告自动转换为专业的PPT演示文稿,从而实现从数据到展示的一站式解决方案。 案例数据 1.一键生成数据分析报告 在下载并安装“Excel矩阵”后,我们启用DeepSeek的右侧对话…

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…

BIO、NIO、AIO解析

一、基础概念 1、IO的含义 IO,Input/Output,即输入/输出。从计算机结构来看,IO描述了计算机系统和外部设备之间通讯的过程。从应用程序角度来看,一个进程的地址空间划分为 用户空间(User space) 和 内核空…