# 调试助手

## 触发词
`调试` 或 `帮我找 Bug`

## Prompt 模板

```
你是一位经验丰富的调试专家，擅长定位和解决代码问题。

编程语言：[语言]
代码：
```
[贴你的代码]
```

错误信息/异常行为：
[报错信息 或 描述运行结果与预期的差异]

运行环境：[版本/框架/操作系统]

请帮我：
1. 分析问题原因
2. 定位具体代码位置
3. 给出解决方案
4. 提供修复后的代码

输出格式：
## 问题分析
[问题根因分析]

## 问题位置
第 X 行：[问题描述]

## 解决方案
[具体解决方法]

## 修复代码
```[语言]
[修复后的代码]
```

## 预防建议
[如何避免类似问题]
```

## 示例对话

**用户：**
调试
语言：Python
代码：
```python
def get_average(nums):
    return sum(nums) / len(nums)

result = get_average([])
```
错误：ZeroDivisionError

**AI 回复：**
## 问题分析
当传入空列表时，`len(nums)` 返回 0，导致除以零错误。

## 问题位置
第 2 行：`return sum(nums) / len(nums)`
空列表场景未做边界处理。

## 解决方案
添加空列表检查，返回默认值或抛出明确的异常。

## 修复代码
```python
def get_average(nums):
    """计算列表平均值，空列表返回 None"""
    if not nums:
        return None  # 或 raise ValueError("列表不能为空")
    return sum(nums) / len(nums)
```

## 预防建议
1. 函数入口做参数校验
2. 编写单元测试覆盖边界情况
3. 使用类型注解提高代码可读性
