---
name: debug
description: 系统化调试排查。先定位根因，再提出修复方案。
triggers:
  - 帮我排查
  - 为什么报错
  - debug this
  - fix this bug
  - investigate
  - 排查 bug
  - 分析报错
tools: [Bash, Read, Grep, Glob]
user-invocable: true
---

# debug

系统化调试排查。先定位根因，再提出修复方案。

## 触发条件

- 用户报告 bug 或错误
- 测试失败需要排查
- 异常行为需要分析
- 性能问题需要定位

## 方法论

### Phase 1: 根因调查（禁止跳过）

```
⛔ 在完成根因调查前，不得提出修复方案。
```

1. 收集错误信息
   - 日志输出
   - 堆栈跟踪
   - 复现步骤

2. 定位问题代码
   - grep 搜索关键错误信息
   - read 相关代码文件
   - 分析调用链

3. 记录发现
   - 问题现象
   - 相关代码位置
   - 初步判断

### Phase 2: 假设生成

基于证据提出 2-3 个可能的根因：

| 假设 | 证据 | 可能性 |
|------|------|--------|
| 假设 1 | ... | 高/中/低 |
| 假设 2 | ... | 高/中/低 |
| 假设 3 | ... | 高/中/低 |

### Phase 3: 验证假设

逐一验证假设：

1. 编写验证测试或添加日志
2. 运行验证
3. 确认或排除假设

### Phase 4: 修复方案

确认根因后：

1. 提出修复方案
2. 编写回归测试
3. 验证修复有效

## 输出格式

```
## 调试报告

### 问题描述
[现象和复现步骤]

### 根因分析
[定位到的根因，附代码位置]

### 修复方案
[具体修复建议]

### 回归测试
[防止再次发生的测试]
```

## 注意事项

- ⛔ 不要在未完成根因调查前提出修复方案
- 不要猜测，要有证据
- 优先使用日志和测试验证，而非手动检查
- 记录调试过程，便于复盘
