Appearance
Cursor Debug Mode 是专门处理棘手 Bug 的模式:Agent 不是直接猜问题出在哪然后改代码,而是先生成假设、在代码里埋日志桩,让你复现 Bug,分析实际运行时数据后再做精准修复。最后自动清除所有日志。适合难以从代码中看出原因的 Bug、竞态条件、性能瓶颈和回归问题。
Cursor Debug Mode:运行时数据驱动的 Bug 排查
标准 Agent 解决不了的 Bug,Debug Mode 提供了另一种思路——不靠猜,靠运行时数据。
什么时候用 Debug Mode
Debug Mode 对这几类问题特别有效:
- 能复现但看不出原因:代码读了半天没找到问题,需要运行时信息
- 竞态条件和时序问题:执行顺序或 async 行为导致的 Bug,静态分析很难发现
- 性能问题和内存泄漏:需要 profiling 数据,不是靠看代码
- 回归 Bug:某个之前好的功能突然出问题,需要追溯"什么改动影响了它"
如果标准 Agent 对话一直猜不准,可以切换到 Debug Mode 换个方向。
Debug Mode 的工作流程
1. 探索和生成假设
Agent 读取相关文件、建立上下文,生成多个关于根因的假设。
2. 添加日志桩
Agent 自动向代码里插入日志语句,数据发送到 Cursor 扩展内置的本地 debug server。你不需要手动配置任何 debug 服务器。
3. 你来复现 Bug
Agent 给出具体的复现步骤,你来执行。这个过程让 Agent 捕获真实的运行时行为(而不是推测)。
4. 分析日志
Agent 读取收集到的日志,根据运行时数据确定真正的根因。
5. 精准修复
不是大范围改代码,而是针对根因做最小化修复,通常只改几行。
6. 验证和清理
你再跑一次复现步骤确认修复生效,Agent 然后自动清除所有日志桩,恢复代码干净状态。
实用建议
提供详细上下文:描述 Bug 时包含错误信息、堆栈跟踪、精确的复现步骤。Agent 的日志桩布置越精准,越快找到根因。
严格按复现步骤执行:确保 Agent 要求的步骤一步不落,日志才能捕获到正确的运行时数据。
多次复现复杂问题:竞态条件类的 Bug 可能需要多次复现,Agent 综合多次日志后才能更准确定位。
描述期望行为和实际行为:告诉 Agent "应该发生 X,但实际发生了 Y",帮助它过滤无关假设。
切换模式
- 在 Agent 的模式选择下拉框里切换到 Debug Mode
- 或在输入框里按
Shift+Tab循环切换
常见问题
Q: Debug Mode 适合所有类型的 Bug 吗?
不是。简单的语法错误、明显的逻辑问题用普通 Agent 就够了。Debug Mode 针对的是"读代码看不出来、需要运行时数据"的棘手情况。
Q: 日志桩会影响我的代码吗?Debug 完成后会自动清理吗?
Debug Mode 结束后 Agent 会自动删除所有插入的日志语句,你的代码会恢复干净状态。建议确认修复后再让 Agent 清理,以防需要重新调试。
Q: Debug Mode 和普通 Agent + 手动加日志有什么区别?
区别在于自动化程度:Debug Mode 的 Agent 能根据代码上下文智能决定在哪里加什么日志,收集完日志后自动分析,形成完整的调试循环,比手动加日志更系统化。