runtime-debug
npx machina-cli add skill Jiusi-pys/agent-plugins/runtime-debug --openclawFiles (1)
SKILL.md
1.3 KB
Runtime Debug Skill
概述
提供 OHOS 设备端程序运行时问题的诊断能力。
日志收集
系统日志
hdc shell "logcat -d" > logcat.txt
hdc shell "logcat -d | grep -E 'FATAL|CRASH|SIGSEGV'"
崩溃日志
hdc shell "ls /data/log/faultlog/"
hdc shell "cat /data/log/faultlog/cppcrash-*"
动态库依赖
hdc shell "ldd /data/local/tmp/myapp"
常见问题
1. 动态库加载失败
症状: error while loading shared libraries
诊断:
hdc shell "ldd /data/local/tmp/myapp"
修复:
- 推送缺失库到设备
- 使用静态链接
- 设置 LD_LIBRARY_PATH
2. 段错误 (SIGSEGV)
症状: 程序崩溃
诊断:
hdc shell "logcat -d | grep backtrace"
3. 权限错误
症状: Permission denied
诊断:
hdc shell "getenforce"
hdc shell "logcat -d | grep avc"
快速诊断脚本
./scripts/collect_logs.sh myapp
./scripts/analyze_crash.sh crash.txt
参考
Source
git clone https://github.com/Jiusi-pys/agent-plugins/blob/main/plugins/ohos-porting/skills/runtime-debug/SKILL.mdView on GitHub Overview
本技能提供 OHOS 设备端的运行时诊断能力,帮助分析应用崩溃、权限错误以及动态库加载问题。它还能在部署测试失败时自动加载诊断信息,提升定位与修复效率。
How This Skill Works
通过一组预定义的 OHOS 设备端 shell 命令收集系统日志、崩溃日志及动态库依赖信息。开发者可执行提供的快速诊断脚本自动执行日志收集和初步分析,输出诊断要点与修复建议。
When to Use It
- 应用崩溃时快速定位原因
- 动态库加载失败导致程序启动失败
- 权限错误引发访问拒绝问题
- 部署测试阶段需要快速诊断与证据收集
- 需要系统日志和崩溃日志综合分析
Quick Start
- Step 1: 确保设备与 hdc 命令可用,连接目标 OHOS 设备
- Step 2: ./scripts/collect_logs.sh myapp; ./scripts/analyze_crash.sh crash.txt
- Step 3: 根据分析结果修复崩溃或权限问题并重新部署测试
Best Practices
- 优先收集系统日志和崩溃日志,关注 FATAL、CRASH、SIGSEGV 等关键标记
- 使用 ldd /data/local/tmp/myapp 检查动态库依赖是否齐全
- 遇到权限问题时先检查 SELinux 状态和 AVC 日志
- 在可控环境下先静态链接或设置 LD_LIBRARY_PATH 避免缺库问题
- 参考 references/crash-analysis.md 和 references/permission-issues.md 进行深入排查
Example Use Cases
- 通过 hdc shell 收集 logcat 并定位崩溃点
- 利用 ldd 检查动态库依赖,修复 missing library 引发的 error while loading shared libraries
- 从 logcat backtrace 中提取崩溃栈并定位代码位置
- 解决权限错误,检查 getenforce 和 avc 的日志
- 在部署测试中遇到问题时自动运行 collect_logs.sh 和 analyze_crash.sh 收集证据
Frequently Asked Questions
Add this skill to your agents