嵌入式 Linux 离线 core dump 取证,先校验 core/binary/BuildID/符号/GDB 依赖,再给可信 backtrace、根因边界和下一步探针
Install
npx skillscat add jiying2007/agent-dev-kit/adk-offline-core-dump-triage Install via the SkillsCat registry.
SKILL.md
adk-offline-core-dump-triage
Goal
- 对嵌入式 Linux core dump 做可复核的离线取证。
- 先证明 core、binary、symbol、rootfs 和 GDB 可用,再判断 crash site、likely root cause 和剩余风险。
Prerequisites
- 已定位 core 文件和候选可执行文件。
- 已知道目标架构、工具链或用户指定 GDB 路径。
- 有运行日志、版本 banner、commit hash、BuildID 或产物目录中的至少一种匹配线索。
Workflow
- 盘点制品:core、executable、
.debug/.debug.full、shared libraries、运行日志和源码 checkout。 - 校验匹配:读取 BuildID、文件时间、版本 banner、commit hash 和路径;匹配失败只输出 partial diagnosis。
- 校验工具:先运行目标 GDB 的
--version或最小 core 加载;缺libncurses等宿主依赖时停止源码级归因。 - 加载符号:设置
sysroot、solib-search-path和源码路径,记录每个库是否找到符号。 - 提取证据:
info threads、thread apply all bt、crash thread、PC/LR/SP、fault address、关键对象状态。 - 区分层级:把 crash site、trigger、likely root cause、blocked evidence 分开写。
- 回到代码:只对已匹配的 frame 做源码路径和对象生命周期分析;对优化内联或缺符号帧保守标注。
- 给下一步:补齐板端库、重编 debug 符号、加最小日志/断言、复现命令或现场采集清单。
Commands
rtk file <core-file> <binary>
rtk readelf -n <binary>
rtk readelf -n <core-file>
rtk <target-gdb> --version
rtk <target-gdb> <binary> <core-file>Evidence Template
- Artifacts:
- Match Check:
- binary_build_id:
- core_exe:
- symbols:
- sysroot/libs:
- GDB Status:
- Trusted Frames:
- Crash Site:
- Likely Root Cause:
- Blocked Evidence:
- Next Probes:
- Confidence: high / medium / lowQuality Gate
- 必须说明 binary/core/symbol 是否匹配。
- 必须区分已验证事实、推断和缺失证据。
- 符号不匹配、GDB 不可用或缺共享库时,结论不得超过
partial。 - 最终建议必须包含可执行的下一步取证或修复验证。