ubuntu coredump 环境配置操作指南
ubuntu coredump 环境配置操作指南1. 概述本文档说明如何配置 Linux coredump 环境用于捕获程序崩溃时的核心转储文件便于使用 gdb 进行问题定位。coredump 是程序崩溃时的内存快照包含崩溃时的寄存器状态、堆栈信息等对于分析引擎崩溃问题至关重要。2. 配置步骤2.1 基础环境检查# 检查当前coredump配置cat/proc/sys/kernel/core_patternulimit-c2.2 方法一systemd-coredump推荐2.2.1 安装 systemd-coredumpsudoapt-getupdatesudoapt-getinstall-ysystemd-coredump2.2.2 配置文件systemd coredump 配置/etc/systemd/coredump.conf:[Coredump] Storageexternal MaxSize50G KeepFree10G ProcessSizeMax100G Compressyes2.2.3 内核 core_pattern 配置# 临时设置重启失效sudosysctl-wkernel.core_pattern|/lib/systemd/system/systemd-coredump%i.service# 持久化配置echokernel.core_pattern|/lib/systemd/system/systemd-coredump%i.service|\sudotee/etc/sysctl.d/99-coredump.conf2.2.4 启用服务# 启用socketsocket-activated方式按需启动sudosystemctlenablesystemd-coredump.socketsudosystemctl start systemd-coredump.socket2.2.5 设置进程资源限制# 临时设置当前会话ulimit-cunlimited# 持久化设置echo* soft core unlimited|sudotee/etc/security/limits.d/coredump.confecho* hard core unlimited|sudotee-a/etc/security/limits.d/coredump.conf2.3 方法二文件模式简单测试用文件模式更简单可靠适合快速验证和内网服务器。# 设置core文件输出到指定目录sudosysctl-wkernel.core_pattern/tmp/core.%e.%p.%t# 创建目录并设置权限sudomkdir-p/tmpsudochmod1777/tmp# 设置文件大小限制ulimit-cunlimited文件名格式说明格式符说明%e可执行文件名%p进程PID%t时间戳秒%u用户UID%g用户GID%h主机名3. Docker 容器内 coredump 配置引擎运行在 Docker 容器内时需要额外配置3.1 容器启动参数sudodockerrun-it--privileged\--ulimitcoreunlimited\--cap-addSYS_ADMIN\--cap-addPERFMON\--networkhost\...其他参数... easzlab.io.local:5000/lyserver-builder:2.3 /bin/bash关键参数说明--ulimit coreunlimited: 允许容器生成任意大小的core文件--privileged: 获取完整系统权限性能分析需要--cap-addSYS_ADMIN: 系统管理能力用于性能分析工具3.2 宿主机捕获容器内进程崩溃时core文件会写入宿主机被内核的 core_pattern 捕获。确保宿主机已完成上述配置。4. 验证配置4.1 编写测试程序创建/tmp/test_crash.c:#includestdio.h#includestdlib.h#includeunistd.h#includestring.hvoidtrigger_null_pointer_crash(){int*ptrNULL;printf(About to dereference NULL pointer...\n);*ptr42;// SIGSEGV here}intmain(intargc,char*argv[]){printf( Coredump Test \n);printf(PID: %d\n,getpid());if(argc1strcmp(argv[1],null)0){trigger_null_pointer_crash();}return0;}4.2 编译和测试# 编译带调试符号cd/tmp gcc-g-O0-otest_crash test_crash.c# 设置ulimitulimit-cunlimited# 触发崩溃./test_crash null4.3 验证结果方法一systemd-coredump:# 查看所有coredump记录coredumpctl list# 查看最新coredump详情coredumpctl info# 使用gdb分析coredumpctl debugPID方法二文件模式:# 检查core文件ls-la/tmp/core.*# 使用gdb分析gdb /tmp/test_crash /tmp/core.test_crash.12345.1234567890(gdb)bt5. 使用 gdb 分析 core 文件5.1 加载 core 文件# 方法1直接加载gdb /path/to/executable /path/to/corefile# 方法2在gdb内加载gdb(gdb)file/path/to/executable(gdb)core-file /path/to/corefile5.2 常用调试命令命令简写说明backtracebt显示调用堆栈backtrace fullbt full显示完整堆栈包含局部变量frame Nf N切换到第N个栈帧info locals显示当前栈帧的局部变量info args显示当前函数参数print varp var打印变量值x/64x addr十六进制查看内存5.3 分析示例(gdb) bt #0 0x00005c8d1e9671f0 in trigger_null_pointer_crash () at test_crash.c:10 10 *ptr 42; // SIGSEGV here #1 0x00005c8d1e9673ee in main (argc2, argv0x7ffd2bc83f88) at test_crash.c:47崩溃定位结果崩溃发生在trigger_null_pointer_crash()函数文件test_crash.c第10行代码为*ptr 42;空指针解引用由main()函数在第47行调用6. 加载调试符号如果 gdb 显示[unknown]而非函数名需要加载调试符号# 在gdb内设置符号路径(gdb)symbol-file /path/to/library.with.debug# 或者加载可执行文件和符号(gdb)file/path/to/executable(gdb)add-symbol-file /path/to/library.debug 0x...# 查看是否加载成功(gdb)info sharedlibrary7. 多线程程序分析如果是多线程程序崩溃# 查看所有线程(gdb)info threads# 切换到指定线程(gdb)thread N# 查看所有线程堆栈(gdb)thread apply all bt8. 常见问题8.1 core_pattern 配置正确但无 core 文件检查资源限制ulimit-c# 如果显示0需要设置为 unlimitedulimit-cunlimited8.2 core 文件过大被截断在/etc/systemd/coredump.conf中增加限制MaxSize100G8.3 gdb 显示 [unknown]需要加载对应的调试符号文件.debug 或带调试信息的库文件。8.4 程序启动时设置了 setrlimit如果程序内部调用setrlimit(RLIMIT_CORE, ...)禁用了core需要在代码中移除或修改。9. coredumpctl 命令参考# 列出所有coredumpcoredumpctl list# 显示coredump信息coredumpctl info[PID]# 调试coredumpcoredumpctl debug[PID]# 删除coredumpcoredumpctl delete[PID]# 清空所有coredumpcoredumpctl purge# 后台转储用于大文件coredumpctl dump PIDcore.file10. 快速参考# 一行命令验证配置文件模式ulimit-cunlimited(echoint main(){int*p0;*p1;}|gcc-xc --o/tmp/t/tmp/t)# 清理测试文件rm-f/tmp/test_crash /tmp/test_crash.c /tmp/core.*11. 安全注意事项权限控制: core文件可能包含敏感信息密码、密钥等确保目录权限正确磁盘空间: 大型程序的core文件可能很大几十GB确保有足够空间自动清理: 设置合理的MaxSize和KeepFree避免磁盘耗尽调试完成后删除: 使用完core文件后及时清理

相关新闻

【计算机毕业设计单片机案例】基于 STM32 的按键切换模式火灾监测控制系统设计 基于单片机传感采集的自动灭火声光报警系统设计(012601)

【计算机毕业设计单片机案例】基于 STM32 的按键切换模式火灾监测控制系统设计 基于单片机传感采集的自动灭火声光报警系统设计(012601)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/7/30 12:12:10阅读更多 →
软著公开信息批量采集:OpenClaw 抓取软件著作权公开数据,分析企业技术布局方向

软著公开信息批量采集:OpenClaw 抓取软件著作权公开数据,分析企业技术布局方向

一、引言在数字经济深入发展的今天,软件已经成为推动各行各业变革的核心驱动力。软件著作权作为软件产品的重要知识产权凭证,其登记信息中蕴含着大量的公开数据:软件名称、著作权人、开发完成日期、首次发表日期、权利范围、登记号等。这些信…

2026/7/30 12:12:10阅读更多 →
SpringCloud微服务架构在手机商城系统的实践与优化

SpringCloud微服务架构在手机商城系统的实践与优化

1. 项目概述:微服务架构下的手机商城管理系统 去年参与的一个电商平台重构项目让我深刻体会到,传统单体架构在应对手机商城这类业务场景时的力不从心。当促销活动带来流量激增时,整个系统就像被塞满的集装箱货轮——任何一个模块出问题都可能…

2026/7/30 12:10:06阅读更多 →
AI诊断准确率超99.2%?揭秘三甲医院真实部署数据:从影像识别到病理判读的12个月落地路径

AI诊断准确率超99.2%?揭秘三甲医院真实部署数据:从影像识别到病理判读的12个月落地路径

更多请点击: https://kaifayun.com 第一章:AI改变医疗行业 人工智能正以前所未有的深度与广度重塑医疗行业的实践范式。从影像识别到药物研发,从个性化治疗到医院运营管理,AI技术已不再是实验室中的概念验证,而是嵌入…

2026/7/30 13:32:43阅读更多 →
ReAct模式:让AI边想边做,小白也能轻松掌握大模型核心技术(收藏版)

ReAct模式:让AI边想边做,小白也能轻松掌握大模型核心技术(收藏版)

本文深入解析了ReAct模式在大模型中的应用,通过“思考-行动-观察”的循环机制,让AI能够像人类一样边思考边行动,有效避免幻觉问题。文章以LangChain.js为例,详细介绍了ReAct模式的实现原理、使用方法及常见陷阱,并提供…

2026/7/30 13:32:43阅读更多 →
Kafka-UI终极指南:5分钟搭建免费可视化Kafka监控平台

Kafka-UI终极指南:5分钟搭建免费可视化Kafka监控平台

Kafka-UI终极指南:5分钟搭建免费可视化Kafka监控平台 【免费下载链接】kafka-ui Open-Source Web UI for Apache Kafka Management 项目地址: https://gitcode.com/GitHub_Trending/ka/kafka-ui 你是否曾被Apache Kafka复杂的命令行管理搞得头大?…

2026/7/30 13:32:43阅读更多 →
今天不选AI,明天就掉队:2024Q2算法红利窗口期倒计时,这5款AI已成流量新基建(含接入优先级排序)

今天不选AI,明天就掉队:2024Q2算法红利窗口期倒计时,这5款AI已成流量新基建(含接入优先级排序)

更多请点击: https://kaifayun.com 第一章:今天不选AI,明天就掉队:2024Q2算法红利窗口期倒计时,这5款AI已成流量新基建(含接入优先级排序) 2024年第二季度正成为AI落地的关键分水岭——模型能力…

2026/7/30 13:32:43阅读更多 →
仅剩47个名额|《AI批处理脚本安全认证训练营》首发:由OSI标准委员会成员+微软MVP联合主讲,结业颁发唯一可验签数字证书

仅剩47个名额|《AI批处理脚本安全认证训练营》首发:由OSI标准委员会成员+微软MVP联合主讲,结业颁发唯一可验签数字证书

更多请点击: https://codechina.net 第一章:AI批处理脚本的安全本质与认知革命 AI批处理脚本早已超越自动化工具的范畴,成为组织数据治理、权限流转与决策链路的隐性基础设施。其安全本质不在于代码是否加密或运行环境是否隔离,而…

2026/7/30 13:32:43阅读更多 →
UnrealPakViewer架构解析:虚幻引擎Pak文件深度分析与可视化解决方案

UnrealPakViewer架构解析:虚幻引擎Pak文件深度分析与可视化解决方案

UnrealPakViewer架构解析:虚幻引擎Pak文件深度分析与可视化解决方案 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer 在虚幻引擎项目开发…

2026/7/30 13:30:43阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 🚀 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾经因为iOS系统的严格…

2026/7/30 0:00:58阅读更多 →
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:00:58阅读更多 →
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/29 14:26:42阅读更多 →