# Claude Code 调试到一半怎么整理上下文？保存复现记录再继续

调试会话变长时，先把可复现输入、错误输出、改动文件和已运行测试保存为进度记录，再用带重点的 /compact 整理上下文。本文给出登录回调问题的记录模板、压缩前后核对顺序和后台任务处理方法，帮助保留已确认事实与尚待验证的假设。示例重点是继续同一调试任务，区别于重启后寻找历史会话；实际修复结果仍需以项目文件和测试输出确认。

原页面：https://ccmaxplan.com/articles/claude-code-debug-session-compaction-notes

发布时间：2026-11-10T01:55:35.101937+00:00

更新时间：2026-11-10T01:55:35.101937+00:00

调试进行到一半，最需要保留的是复现方法和已验证结果。**先保存这两项，再压缩对话；恢复后从实际文件和测试继续。** 以下流程适用于当前 Claude Code 会话变长、仍需追查同一个问题的情况。

## 把进度写成能复查的记录

以“登录回调偶发失败”为例，要求 Claude 生成一份简短进度文档。各字段填真实内容，尚未确认的部分明确标为待验证：

```text
问题：登录回调在什么条件下失败
复现：输入、账号类型和实际命令
现象：原始错误及发生位置
已确认：由日志或测试支持的结论
假设：尚待验证的解释
已修改：文件和修改目的
测试：命令、退出状态、结果文件
后台任务：进程或任务标识及状态
下一步：最小的一项验证
```

保存后，抽查复现命令和文件路径。若只写“登录有问题，继续修复”，新摘要难以区分做过的尝试。

## 指定这次摘要的重点

在 Claude Code 输入：

```text
/compact 围绕登录回调问题整理：保留复现步骤、已确认结论、待验证假设、文件改动、测试结果、后台任务和下一步。
```

官方文档说明 `/compact` 会用结构化摘要替换会话历史。根目录规则和记忆重新注入，部分最近读写文件重新读取。较大文件可能仅留下路径引用。

## 恢复后做一次状态对照

让 Claude 读取刚保存的进度文档，检查当前 diff 和测试日志，然后回答三个问题：当前错误还能否复现、哪些改动尚未验证、原后台任务是否结束。

**后台命令会在压缩后继续运行。** 在启动相同测试前查原任务，避免并行跑两份测试后混淆输出。若文件已有其他修改，按真实 diff 更新判断，保留他人的工作。

## 把完成标准写得具体

对这个示例，完成标准可以是：原复现输入通过；新增测试覆盖失败分支；相关现有测试通过；交付说明注明仍存在的限制。以上是建议的验收结构，使用时按项目实际风险调整。

压缩能帮助保留任务方向，详细日志和源码负责支持判断。恢复后从尚未完成的验证项继续排查。

## 常见问题

Q: 要把全部聊天复制进进度文档吗？

A: 保留复现、已证实结论、改动和下一步，长日志用文件路径定位，避免重复整段聊天。

Q: 假设应该删掉吗？

A: 保留仍有价值的假设，并明确标为待验证，防止它被误写成已确认原因。

Q: 压缩后找不到原来的长报错怎么办？

A: 从保存的日志重新读取相关范围；关键原始输出应在压缩前落盘。

Q: `/context` 能告诉我什么？

A: 它展示当前上下文分类占用，可帮助判断大量文件、指令或工具信息是否占据空间。

Q: 需要重启 Claude Code 才能压缩吗？

A: 当前会话中可以直接运行 `/compact`，无需为这个操作先退出。

Q: 验收通过后还要保留进度文档吗？

A: 根据项目交付约定保留有用记录，将最终测试结果写清，避免后续把中间假设当成结论。

## 参考资料

* [Claude Code 上下文与压缩](https://code.claude.com/docs/en/context-window)
