给 Claude Code 错误信息
最有效的调试方式:把错误日志直接丢进去。
# 方式一:直接在对话里粘贴
> 我跑 npm run build 报了这个错:
> TypeError: Cannot read properties of undefined (reading 'map')
> at UserList (src/components/UserList.tsx:23:18)
# 方式二:管道输入(适合长日志)
npm run build 2>&1 | claude -p "分析这个构建错误的原因,给出修复方案"
# 方式三:从日志文件读取
> 帮我看一下 @logs/error.log 最近的报错,找到根因

Claude Code 拿到错误信息后会自动定位到源文件,分析调用链,找到 root cause。
实战:排查运行时错误
> 用户反馈说点击"提交订单"按钮没反应,帮我查一下 OrderForm 组件
Claude Code 的排查路径:
- 读取
OrderForm.tsx,找到 submit handler - 追踪整个调用链:组件 → service → API endpoint
- 检查每一层的错误处理是否有遗漏
- 定位问题(比如
await缺失导致 Promise 未处理) - 修复并验证
用 Extended Thinking 处理复杂 Bug
碰到逻辑复杂、涉及多个模块的 bug,开启 extended thinking 让 Claude 深度分析:
# 在 Claude Code 里按 Option+T (macOS) 或 Alt+T 开启 thinking mode
# 或者启动时指定
claude --permission-mode plan
在 thinking mode 下,Claude 会先做完整的代码分析,画出依赖关系,然后再给出修复方案。按 Ctrl+O 能看到它的推理过程。
适合用 thinking mode 的场景:
- 竞态条件(race condition)
- 内存泄漏
- 跨服务的数据不一致
- 性能瓶颈定位
把 Claude Code 集成到测试流程
用管道把测试输出直接给 Claude 分析:
# 跑测试,失败的话自动分析原因
npm test 2>&1 | claude -p "分析失败的测试,找到 root cause 并修复"
# 只看特定测试文件的失败
npx vitest run src/services/auth.test.ts 2>&1 | claude -p "这个测试为什么失败了?"
更自动化的做法——写个脚本循环修复:
#!/bin/bash
MAX_ATTEMPTS=3
for i in $(seq 1 $MAX_ATTEMPTS); do
npm test && echo "测试通过" && exit 0
npm test 2>&1 | claude -p "测试失败了,读取相关源码,修复 bug。只改源码,不改测试。"
done
echo "修复 $MAX_ATTEMPTS 次仍然失败,需要人工介入"
调试 API 接口
后端接口出问题时,可以结合 MCP 工具一起调试:
> 帮我查一下 /api/orders 接口为什么返回 500
> 用 PostgreSQL MCP 看一下 orders 表最近 10 条记录的状态
> 再对比一下代码里的查询逻辑
如果接了数据库 MCP Server,Claude Code 能直接执行 SQL 验证数据,比手动切换终端、数据库客户端效率高得多。
常见调试模式
| 场景 | 推荐方式 |
|---|---|
| 构建报错 | 管道输入 build 输出,让 Claude 分析 |
| 运行时错误 | 粘贴错误日志 + 堆栈信息 |
| 测试失败 | 管道输入测试结果,自动定位修复 |
| 性能问题 | 用 thinking mode 分析代码路径 |
| UI 问题 | 截图粘贴(Ctrl+V),让 Claude 看界面 |
| 数据问题 | 接 PostgreSQL MCP,直接查数据库 |