调试模式可帮助你找出根本原因,并修复难以复现或理解的棘手缺陷。智能体不会立即编写代码,而是会先提出假设、添加日志语句,并利用运行时信息精确定位问题,再进行针对性修复。
何时使用调试模式¶
调试模式尤其适用于:
- 可复现但难以定位的缺陷:你知道出了问题,但仅靠阅读代码难以看出原因
- 竞态条件和时序问题:取决于执行顺序或异步行为的问题
- 性能问题和内存泄漏:需要通过运行时性能分析才能了解的问题
- 原本正常的功能出现回归:需要追踪发生了哪些变化时
当标准智能体交互难以解决某个缺陷时,调试模式会基于运行时证据,而非猜测修复方案,提供另一种思路。
工作原理¶
-
探索并提出假设:智能体会探索相关文件、构建上下文,并针对潜在的根本原因提出多个假设。
-
添加埋点:智能体会添加日志语句,将数据发送到 Cursor 扩展中运行的本地调试服务器。
-
复现缺陷:调试模式会引导你复现缺陷,并提供具体步骤。这让你始终参与其中,并确保智能体能够捕获真实的运行时行为。
-
分析日志:复现后,智能体会分析收集到的日志,并根据运行时证据找出真正的根本原因。
-
进行针对性修复:智能体会进行直接解决根本原因的针对性修复,通常只需修改几行代码。
-
验证并清理:你可以重新执行复现步骤来验证修复结果。确认后,智能体会移除所有埋点。
调试模式提示¶
- 提供详细上下文:对缺陷及其复现方式描述得越详细,智能体的埋点效果就越好。请附上错误消息、堆栈跟踪和具体步骤。
- 严格遵循复现步骤:执行智能体提供的步骤,确保日志捕获到实际问题。
- 必要时多次复现:多次复现缺陷可能有助于智能体识别竞态条件等棘手问题。
- 明确说明预期行为与实际行为:帮助智能体了解应发生什么,以及实际发生了什么。
切换模式¶
- 在智能体中使用模式选择下拉菜单
- 按 Shift+Tab 快速切换