第 12 章:问题排查与进阶技巧

⏱ 预计阅读 16 分钟 更新于 2026/5/16
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

恭喜你完成了前 11 章的学习!你已经掌握了使用 Claude Code 开发番茄钟应用的核心技能。本章是教程的最后一章,我们将学习如何排查问题、诊断错误,以及一些高级技巧,让你能够更高效地使用 Claude Code。

12.1 常见问题分类

在使用 Claude Code 的过程中,你可能会遇到以下几类问题:

安装问题

  • Node.js 版本不兼容:Claude Code 通常需要 Node.js 18 或更高版本
  • 权限问题:无法读取或写入某些文件或目录
  • 依赖安装失败:npm 或 yarn 安装依赖时出错

性能问题

  • 上下文过大:项目文件过多导致响应变慢
  • 内存不足:处理大型文件或复杂操作时卡顿
  • 网络问题:无法连接到 Anthropic API

行为异常

  • Claude 不按预期操作:误解指令或执行错误操作
  • 权限问题:工具调用被拒绝
  • 状态不一致:会话状态与实际文件状态不符

了解这些问题的分类有助于你快速定位问题根源,选择合适的解决方法。

12.2 /rewind — 回滚到检查点

命令语法

/rewind [options]

功能说明

将对话和代码回滚到上一个检查点。这是 Claude Code 的"撤销"功能,当 Claude 把代码改坏了或者你走错了方向时,可以快速回到之前的状态。

别名

  • /undo — 与 /rewind 功能相同
  • /checkpoint — 查看当前检查点列表

实际使用示例

示例 1:回滚到上一个检查点

/rewind

示例 2:查看检查点列表

/checkpoint

示例 3:回滚到特定检查点

/rewind --checkpoint 3

回滚模式

/rewind 支持两种回滚模式:

  1. 仅回滚对话:对话历史回到检查点,但代码文件保持当前状态
  2. 回滚对话 + 代码:对话和代码文件都回到检查点时的状态

回滚模式可以通过选项控制:

/rewind --code-only    # 仅回滚代码
/rewind --conversation-only  # 仅回滚对话
/rewind --both         # 回滚对话和代码(默认)

使用场景

  • Claude 把代码改坏了,想回到修改前的状态
  • 走错了方向,想重新开始某个任务
  • 实验不同的实现方案,需要回滚对比

注意事项

  • Git 未跟踪的文件不会被回滚
  • 已提交到 Git 的更改不会受到影响
  • 回滚后可以继续之前的对话流程
  • 建议在关键操作前使用 /checkpoint 创建手动检查点

12.3 /debug — 启用调试日志

命令语法

/debug [description]

功能说明

启用调试日志,捕获 Claude Code 的内部操作日志,帮助诊断问题。启用后,Claude Code 会记录工具调用、响应时间、错误信息等详细信息。

技能关联

systematic-debugging 技能提供了完整的调试工作流:

  1. 启用调试日志
  2. 读取并分析日志
  3. 识别问题模式
  4. 提供修复建议

实际使用示例

示例 1:中途启用调试日志

/debug

示例 2:使用描述参数

/debug timer component renders incorrectly

示例 3:分析现有日志

/debug --analyze

日志位置

调试日志保存在:

~/.claude/debug/<session-id>.txt

每个会话都有唯一的 session-id,日志文件包含该会话的完整调试信息。

启用方式

方式 1:中途启用 在对话中途运行 /debug,从该点开始捕获日志:

/debug

方式 2:启动时启用 从启动开始就捕获日志:

claude --debug

注意事项

  • 调试日志默认关闭,以减少性能开销
  • 启用后会略微影响性能,建议在需要时才使用
  • 日志可能包含敏感信息,分享前请检查
  • 可以使用可选的描述参数帮助聚焦分析

12.4 /feedback — 提交 Bug 报告

命令语法

/feedback [report]

功能说明

提交 Bug 报告或功能反馈给 Anthropic 团队。自动附加当前会话的上下文信息,帮助团队快速定位和解决问题。

别名

  • /bug — 与 /feedback 功能相同

实际使用示例

示例 1:快速反馈当前问题

/feedback

示例 2:提交详细的 Bug 报告

/feedback Claude sometimes ignores file paths when using the Read tool

示例 3:反馈功能请求

/feedback It would be great to have a command to search across all files

自动附加的信息

/feedback 会自动附加以下信息:

  • 当前会话的对话历史
  • 使用的 Claude Code 版本
  • 系统环境信息(操作系统、Node.js 版本等)
  • 最后几次工具调用的详细信息

GitHub Issues

除了使用 /feedback 命令,你也可以直接在 GitHub 提交 Issue:

https://github.com/anthropics/claude-code/issues

提交 Issue 时,请尽量包含:

  • 问题复现步骤
  • 预期行为
  • 实际行为
  • 环境信息
  • 相关的日志或截图

注意事项

  • 反馈前请先搜索 GitHub Issues,确认问题未被报告
  • 提供详细的复现步骤有助于快速修复
  • 功能请求也欢迎,帮助改进 Claude Code
  • Anthropic 团队会评估并回复你的反馈

12.5 /insights — 使用分析

命令语法

/insights

功能说明

生成 Claude Code 使用情况的分析报告,帮助你了解自己的使用习惯、交互模式和可能的摩擦点。

实际使用示例

示例 1:生成当前项目的使用分析

/insights

示例 2:分析特定时间段

/insights --last 7d

报告内容

/insights 生成的报告通常包含:

项目领域分析

  • 你最常开发的项目类型(Web 应用、CLI 工具、库等)
  • 主要使用的技术栈(React、Node.js、Python 等)
  • 工作模式(前端开发、后端开发、全栈开发等)

交互模式分析

  • 最常用的命令
  • 工具调用频率
  • 对话长度分布
  • 会话持续时间

摩擦点识别

  • 经常被拒绝的权限请求
  • 频繁出错的操作
  • 需要多轮对话才能完成的任务
  • 性能瓶颈

应用场景

  • 发现自己的使用习惯和偏好
  • 识别可以优化的工作流程
  • 决定哪些技能或功能值得学习
  • 发现可能需要的权限配置

注意事项

  • 隐私保护:分析基于本地数据,不上传到云端
  • 报告生成需要一定时间,请耐心等待
  • 可以定期运行 /insights 跟踪使用习惯的变化

12.6 其他诊断工具

/heapdump — JavaScript 堆快照

命令语法

/heapdump

功能说明 生成当前进程的 JavaScript 堆快照,用于诊断内存泄漏或内存占用过高问题。

实际使用示例

/heapdump

输出位置 快照文件会保存到桌面:

~/Desktop/heapdump-<timestamp>.heapsnapshot

注意事项

  • 堆快照文件可能很大
  • 需要使用 Chrome DevTools 或其他工具分析
  • 仅在遇到内存问题时使用

/powerup — 交互式功能发现

命令语法

/powerup

功能说明 启动交互式学习课程,帮助你发现 Claude Code 的高级功能。课程包含动画演示和实践练习。

实际使用示例

/powerup

课程内容

  • 命令速查
  • 技能使用技巧
  • 高级工作流
  • 最佳实践

注意事项

  • 适合新用户和想要深入学习的用户
  • 可以随时中断和继续
  • 建议按顺序完成课程

12.7 问题排查流程

问题排查流程图

遇到问题
    ↓
尝试 /rewind 回滚到上一个检查点
    ↓
问题解决了吗?
    ├─ 是 → 继续工作
    └─ 否 ↓
        启用 /debug 并复现问题
            ↓
        查看调试日志
            ↓
        使用 /doctor 检查环境
            ↓
        问题解决了吗?
            ├─ 是 → 继续工作
            └─ 否 ↓
                使用 /feedback 提交 Bug 报告

常见问题快速参考表

问题类型 首选命令 备选方案
Claude 改坏了代码 /rewind 手动 git 回滚
操作被拒绝 检查权限 使用 /rewind 重试
性能问题 /debug /doctor
行为异常 /debug /rewind
安装问题 /doctor 手动检查环境
内存问题 /heapdump 重启 Claude Code
发现 Bug /feedback GitHub Issues

12.8 动手做:排查问题

让我们通过一个实际场景来练习问题排查。假设你在开发番茄钟应用时遇到了一个 Bug。

步骤 1:模拟问题场景

让 Claude 修改番茄钟代码,但引入一个 bug:

请修改 Timer 组件,在暂停时显示 "PAUSED" 文字,但不要改变计时逻辑

假设 Claude 错误地修改了计时逻辑,导致计时器无法正确暂停。

步骤 2:使用 /rewind 回滚

当你发现问题后,立即使用 /rewind 回到修改前的状态:

/rewind

如果 /rewind 没有解决问题,可以尝试查看检查点列表:

/checkpoint

然后回滚到特定的检查点:

/rewind --checkpoint 2

步骤 3:启用调试日志

重新让 Claude 执行修改,并启用调试日志:

/debug timer component renders incorrectly

请修改 Timer 组件,在暂停时显示 "PAUSED" 文字,但不要改变计时逻辑

步骤 4:查看调试日志

调试日志保存在 ~/.claude/debug/ 目录下。你可以使用以下命令查看:

cat ~/.claude/debug/<session-id>.txt

或者让 Claude 帮你分析:

/debug --analyze

步骤 5:使用 /doctor 检查环境

确保环境配置没有问题:

/doctor

步骤 6:给 Claude 更精确的指令

根据调试信息,重新给 Claude 更精确的指令:

请修改 Timer 组件,仅在 UI 层面显示 "PAUSED" 文字,不要修改 useTimer hook 或任何状态管理逻辑。只需要在 render 中添加条件渲染的 "PAUSED" 文字。

这样 Claude 就能够更准确地理解你的需求,避免引入 bug。

12.9 课程总结

核心命令回顾

在这 12 章中,我们学习了以下核心命令:

基础命令(ch01-04)

  • /help — 查看帮助文档
  • /config — 配置 Claude Code
  • /model — 选择 AI 模型
  • /clear — 清除对话历史

文件操作(ch05-07)

  • /read — 读取文件
  • /write — 写入文件
  • /edit — 编辑文件
  • /search — 搜索代码

项目管理(ch08-09)

  • /git — Git 操作
  • /run — 运行命令
  • /test — 运行测试
  • /build — 构建项目

高级功能(ch10-12)

  • /skill — 使用技能
  • /rewind — 回滚到检查点
  • /debug — 启用调试日志
  • /feedback — 提交反馈

按场景的命令选择指南

场景 1:开始新项目

  1. /config — 配置项目设置
  2. /skill brainstorming — 头脑风暴设计
  3. /skill planning-with-files — 制定计划
  4. 开始开发

场景 2:修复 Bug

  1. /debug — 启用调试日志
  2. 复现问题
  3. /debug --analyze — 分析日志
  4. 如果需要,/rewind 回滚
  5. 修复问题

场景 3:代码审查

  1. /read — 读取代码
  2. /skill code-review — 执行代码审查
  3. /skill systematic-debugging — 深度调试
  4. 应用修复

场景 4:学习新技能

  1. /powerup — 完成交互式课程
  2. /insights — 分析使用习惯
  3. 尝试新的技能和工作流

推荐的学习路径

第一阶段:掌握基础(ch01-04)

  • 熟悉基本命令和配置
  • 学会与 Claude 有效沟通
  • 理解 Claude Code 的工作原理

第二阶段:进阶使用(ch05-07)

  • 掌握文件操作工具
  • 学会搜索和分析代码
  • 使用 Claude Code 进行重构

第三阶段:项目管理(ch08-09)

  • 集成 Git 工作流
  • 运行测试和构建
  • 处理依赖和环境问题

第四阶段:高级技巧(ch10-12)

  • 学习和使用技能
  • 掌握问题排查方法
  • 优化工作流程

继续学习的建议

  1. 在实际项目中使用:理论学习和实践相结合,在你的实际项目中应用所学知识
  2. 探索更多技能:Claude Code 有丰富的技能库,根据你的需求选择学习
  3. 参与社区:在 GitHub Issues 中讨论问题,分享你的经验
  4. 定期查看更新:Claude Code 持续更新,关注新功能和改进

本章小结

本章是教程的最后一章,我们学习了:

  • 问题分类:了解安装、性能和行为异常三类常见问题
  • /rewind:使用回滚功能撤销错误操作
  • /debug:启用调试日志诊断问题
  • /feedback:提交 Bug 报告和功能反馈
  • /insights:分析使用习惯,优化工作流程
  • 其他诊断工具/heapdump/powerup
  • 问题排查流程:系统化的故障排除方法
  • 实践练习:通过实际场景应用问题排查技巧

至此,你已经完成了完整的 Claude Code 教程。你已经掌握了:

  • Claude Code 的基本概念和工作原理
  • 核心命令和工具的使用方法
  • 如何在实际项目中集成 Claude Code
  • 高级技巧和问题排查方法

现在,你可以自信地在自己的项目中使用 Claude Code,提高开发效率,减少重复劳动。记住,Claude Code 是你的 AI 编程助手,它的价值在于帮助你更好地完成工作,而不是替代你。

祝你在使用 Claude Code 的过程中取得更多成就!


教程结束

感谢你阅读本教程。如果你有任何问题或建议,欢迎在 GitHub Issues 中反馈: https://github.com/anthropics/claude-code/issues