Core dump去哪里了?
转自:http://blog.csdn.net/normallife/article/details/53818997
今天程序Crash,去追踪,找core dump,始终没有找到,后来到了/proc/sys/kernel/core_pattern这个文件夹下找到。
在linux平台下,设置core dump文件生成的方法:
1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump。
2) 使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小。如果需要限制,加数字限制即可。ulimit - c 1024
3) 默认情况下,core dump生成的文件名为core,而且就在程序当前目录下。新的core会覆盖已存在的core。通过修改/proc/sys/kernel/core_uses_pid文件,可以将进程的pid作为作为扩展名,生成的core文件格式为core.xxx,其中xxx即为pid
4) 通过修改/proc/sys/kernel/core_pattern可以控制core文件保存位置和文件格式。例如:将所有的core文件生成到/corefile目录下,文件名的格式为core-命令名-pid-时间戳. echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
在运维中, 服务器会出现 coredump,这时/var/log/messages 会有 coredump信息产生,但是经常会有
May 12 17:51:01 localhost abrtd: Executable '/data/tianq/test/test' doesn't belong to any package
May 12 17:51:01 localhost abrtd: Corrupted or bad dump /var/spool/abrt/ccpp-2014-05-12-17:51:01-25312 (res:2), deleting
相关输出, 修改 /etc/abrt/abrt-action-save-package-data.conf 可以屏蔽此问题
cp /etc/abrt/abrt-action-save-package-data.conf /etc/abrt/abrt-action-save-package-data.conf.bak
vim /etc/abrt/abrt-action-save-package-data.conf
将 ProcessUnpackaged = no 修改为 ProcessUnpackaged = yes
service abrtd restart
参考连接: http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&docname=c04008096
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)