- slug
- debug-companion
- name
- 调试伴侣
- description
- 根据错误信息/traceback 自动分析根因并给出修复建议
- author
- workflow-coordinator
- version
- 1.0.0
- tags
调试伴侣 SKILL.md
你的专属调试助手 —— 粘贴错误信息,立即得到根因分析和修复方案
技能简介
调试伴侣(Debug Companion)是一个 OpenClaw 技能,专门帮助开发者快速定位和修复代码错误。
核心能力
- 🔍 智能解析:自动识别错误类型、文件位置、行号
- 🎯 根因分析:用大白话解释"为什么会出错"
- ✅ 修复建议:给出具体操作步骤,甚至直接生成补丁
- 📚 参考资料:附赠类似问题的解决方案链接
支持语言
| 语言 | 状态 |
|---|---|
| Python | ✅ |
| JavaScript / Node.js | ✅ |
| TypeScript | ✅ |
| Go | ✅ |
| Java | ✅ |
| C++ | ✅ |
| Rust | ✅ |
| PHP | ✅ |
| Ruby | ✅ |
工作流程
用户发送错误信息/traceback
↓
错误信息解析
(提取错误类型、文件、行号)
↓
智能搜索
(Tavily + Code Search)
↓
根因分析 + 修复建议
↓
结构化输出使用方式
触发词
用户发送以下内容时会激活技能:
调试 + 错误信息报错 + traceback出了个bug这个错误怎么修- 直接粘贴错误信息/traceback
输入格式
推荐格式:
[错误类型]: [错误描述]
File "[文件]", line [行号], in [函数名]
[代码]
[更多堆栈信息]示例:
TypeError: Cannot read property 'map' of undefined
at processData (/app/utils.js:15:20)
at handleRequest (/app/server.js:42:10)可选上下文
| 上下文 | 说明 | 示例 |
|---|---|---|
| 语言 | 指定编程语言 | Python、JavaScript |
| 代码片段 | 相关代码 | 粘贴出错的代码 |
| 环境信息 | OS、版本等 | Node.js v18、Python 3.11 |
输出格式
## 🔍 错误解析
**错误类型**:TypeError
**问题文件**:/app/utils.js:15
**问题描述**:在 `processData` 函数中尝试调用 `.map()`,但数据是 `undefined`
## 🎯 根因分析
你正在对 `data` 变量调用 `.map()` 方法,但这个变量是 `undefined`。这通常是因为:
1. API 返回的数据结构不符合预期
2. 异步操作尚未完成就开始处理
3. 数据获取函数出错返回了空值
## ✅ 修复建议
1. **添加防御性检查**:在使用 `.map()` 前检查 `data` 是否存在if (!data) { console.error('数据不存在:', data); return []; }
2. **确保数据加载完成**:使用 `await` 或检查 Promise 状态
3. **添加默认值**:使用 `data ?? []` 防止 undefined
## 📚 参考资料
- [MDN: undefined 处理](https://developer.mozilla.org/...)
- [Stack Overflow: Cannot read property of undefined](https://stackoverflow.com/...)错误类型速查表
| 错误类型 | 常见原因 |
|---|---|
TypeError: Cannot read property 'X' of undefined | 访问了 undefined/null 的属性 |
ReferenceError: X is not defined | 变量未定义或拼写错误 |
SyntaxError | 语法错误,缺少括号/引号等 |
IndexError: list index out of range | 数组索引越界 |
KeyError: 'X' | 字典/对象没有这个键 |
NullPointerException | 空指针调用 |
ENOENT: No such file or directory | 文件路径错误 |
Permission denied | 权限不足 |
工具调用
技能内部使用以下工具:
| 工具 | 用途 |
|---|---|
tavily_search | 搜索类似问题的解决方案 |
code_search | 搜索官方文档和权威教程 |
web_fetch | 抓取详细修复方案页面 |
注意事项
- 隐私安全:如果错误信息包含敏感路径或密钥,会自动脱敏处理
- 上下文重要:提供更多代码上下文能获得更准确的建议
- 版本相关:某些错误在不同版本语言中处理方式不同,请提供版本信息
- 二次确认:涉及代码修改时,建议先在测试环境验证
示例对话
用户:
js报错:TypeError: Cannot read property 'map' of undefined
at processData (utils.js:15:20)
at handleRequest (server.js:42:10)调试伴侣: (按上方输出格式返回完整分析)
更新日志
- 2026-03-27:v1.0.0 初始版本
- 支持8种主流语言 - 错误解析+根因分析+修复建议 - Tavily搜索+代码搜索双保险