标准答案

  1. 先确认崩溃信号、core 生成策略、文件大小限制、存储位置和符号文件是否与二进制匹配。
  2. 分析时查看所有线程栈、寄存器、关键变量和加载的库,区分应用 bug、库不匹配和资源触发的崩溃。
  3. 生产环境应限制 core 的权限和保留时间,脱敏或加密传输,避免把 token、用户数据和密钥扩散。
  4. core 不能替代日志、指标、trace、版本和发布信息,故障恢复仍需要健康检查和自动拉起策略。

题目解析

core dump 保存崩溃瞬间的寄存器、线程、映射和部分进程内存,结合与二进制完全匹配的调试符号可以还原调用栈、变量和库版本。没有符号仍可得到地址和部分线程信息,但内联函数、源码行和优化后的变量可能无法可靠解释。

core 只能说明崩溃现场,不能替代发布版本、日志、指标、trace 和复现条件;它还可能包含 token、请求体和密钥。生产应通过 coredump 管理器限制权限、大小、保留时间和导出位置,建立制品与符号的版本映射,并在分析后安全删除。

常见误区

  • 误区:直接把 core 上传到公共位置。改正:按敏感数据处理,使用受控存储、权限、加密和过期清理。
  • 误区:只看崩溃线程。改正:同时检查所有线程、加载库、寄存器、版本和最近发布变化。

作者信息