Claude Code 不只是「帮你查 StackOverflow」, 掌握正确的调试提示词和上下文投喂方式,能让 AI 真正帮你解决疑难 Bug。
黄金法则:描述 Bug 的三要素
❌ 低效提问:「我的代码不工作了,帮我看看」
✅ 高效提问:
现象:调用 /api/login 接口,返回 500 错误
预期:应该返回 200 和 JWT token
环境:Node.js 18 + Express + PostgreSQL,
发生在添加了邮箱格式校验代码之后
报错信息:
TypeError: Cannot read properties of undefined (reading 'id')
at UserService.createToken (src/services/user.service.ts:45)
...(完整堆栈)
相关代码:[粘贴 user.service.ts 第 40-55 行]
三要素:现象 + 预期 + 环境/触发条件
上下文投喂技巧
投喂完整报错栈
bash
# 不要截图(截图文字识别可能出错),直接粘贴文字
# 完整的堆栈比截断的更有用
Traceback (most recent call last):
File "app.py", line 23, in process_order
result = db.query(Order).filter(Order.id == order_id).first()
File "/usr/lib/python3.12/site-packages/sqlalchemy/orm/query.py", line 2345, in first
...
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) SSL connection has been closed unexpectedly投喂相关文件而不是整个项目
# 精准投喂,避免无关干扰
/add src/services/payment.service.ts # 出问题的文件
/add src/models/order.model.ts # 相关数据模型
/add src/utils/database.ts # 数据库连接工具
# 然后提问:从 process_payment 到数据库操作,找出连接泄漏的原因
橡皮鸭调试提示词模板
帮我做橡皮鸭调试:我需要逐步解释这段代码,你帮我指出逻辑漏洞。
代码功能:[一句话说明]
我的理解:
1. 第 10 行:初始化用户对象
2. 第 15 行:查询数据库
3. 第 20 行:...(逐步说明你认为代码在做什么)
问题:运行到第 XX 行时崩溃,报错是 [报错信息]
请指出我的理解哪里可能有误,或者代码本身有什么逻辑问题。
系统性排查未知 Bug
当你不知道问题在哪时,让 Claude 帮你制定排查计划:
这个功能在生产环境偶发崩溃(约每 100 次触发 1 次),
本地无法复现。帮我制定一个系统性排查方案:
功能描述:用户上传 Excel 文件,服务端解析后写入数据库
报错:Segmentation fault(只有 core dump,没有 Python 堆栈)
环境:Python 3.11 + openpyxl + pandas,Docker 容器
帮我:
1. 列出可能的原因(按可能性排序)
2. 设计最小可复现测试用例
3. 建议加哪些日志帮助定位
让 Claude 主动加日志
这个函数偶发返回错误结果,但我不知道哪一步出问题了。
请在关键节点加上详细的调试日志,让我运行后能看清楚执行流程:
[粘贴函数代码]
要求:
- 每个分支入口打印分支名和关键变量值
- 数据库查询前后打印查询参数和结果条数
- 异常捕获处打印完整上下文
- 使用 logging.debug 而不是 print(方便后续去掉)
复杂场景专项提示词
异步/并发 Bug
这是一个 Node.js 并发问题:多个用户同时下单时,
库存数量有时会出现负数(超卖)。
代码:[粘贴库存扣减代码]
这是一个典型的 Race Condition 问题,请:
1. 解释为什么这段代码会出现 Race Condition
2. 提供三种解决方案(Redis 分布式锁 / 数据库乐观锁 / 数据库悲观锁)
3. 对比三种方案的优劣,推荐最适合我这个场景的方案
内存泄漏排查
Node.js 进程运行几小时后内存持续增长,最终 OOM 崩溃。
heapdump 分析显示 EventEmitter 对象异常增多。
帮我找出这段代码可能的内存泄漏点:
[粘贴代码]
重点检查:
- 事件监听器是否有对应的 removeListener
- 定时器是否有对应的 clearInterval/clearTimeout
- 闭包是否持有了不应该持有的大对象引用
性能 Bug(响应慢)
这个 API 接口平均响应时间 3s,应该在 100ms 以内。
数据库查询的 EXPLAIN 结果如下:
[粘贴 EXPLAIN 输出]
当前代码:
[粘贴相关代码]
帮我:
1. 分析 EXPLAIN 结果指出性能瓶颈
2. 建议如何加索引
3. 代码层面有哪些 N+1 查询或不必要的循环可以优化
分析截图中的错误
bash
# Claude Code 中截图然后提问
# 在终端报错时,截图 + 直接问
你:[截图终端报错]
这个编译错误的根本原因是什么?对应哪行代码要修改?
Claude:从截图看,这是一个 TypeScript 类型不匹配错误:
函数期望接收 string,但你传入了 string | undefined。
修复方法:在第 23 行使用可选链操作符 `user?.name ?? ""`来源:Claude Code 官方文档 - docs.anthropic.com/en/docs/claude-code