当Linux程序因异常终止(如段错误、非法指令)时,系统会生成一份内存镜像文件——这便是Core Dump。它如同程序崩溃时的"犯罪现场记录",是开发者定位问题的关键工具。

1. 本质功能
内存快照:完整保存进程崩溃时的内存、寄存器状态及堆栈信息。
调试凭证:通过gdb等工具反推崩溃原因,如指针越界、内存泄漏。
2. 触发条件
信号触发:常见信号包括SIGSEGV(段错误)、SIGABRT(abort触发)、SIGFPE(浮点异常)。
手动触发:通过kill命令发送信号(如kill -SIGSEGV
3. 配置方法
开关控制:ulimit -c unlimited(解除core文件大小限制)。
路径设置:通过/proc/sys/kernel/core_pattern指定生成路径(如/tmp/core.%e.%p)。
4. 分析工具
gdb调试:gdb <程序>
objdump反汇编:结合符号表定位崩溃指令位置。
5. 应用场景
线上问题定位:通过core文件分析生产环境程序崩溃。
安全审计:检测内存中的敏感数据泄露(如密码残留)。
6. 注意事项
存储空间:大内存程序可能生成数GB的core文件,需合理规划存储。
隐私风险:core文件可能包含用户数据,需加密或脱敏处理。
本文凡亿教育原创文章,转载请注明来源!
暂无评论