AI 辅助调试

wescode 内置的 AI 调试能力可以帮助你快速定位问题、理解错误原因、提出修复建议,将调试效率提升数倍。


错误分析

自动错误检测

当编辑器检测到代码错误时,AI 会自动分析:

错误信息解读

在 Chat 面板中粘贴错误信息,AI 会:

  1. 解析错误类型和来源
  2. 定位相关代码位置
  3. 分析可能的触发条件
  4. 提供修复方案
示例提问:
"这个 panic 是什么原因?
goroutine 1 [running]:
main.processData(0xc0000b2000, 0x0, 0x0)
	/app/main.go:42 +0x1a5"

堆栈追踪分析

Go 堆栈分析

AI 能理解 Go 特有的堆栈格式:

多语言支持

语言支持的堆栈格式
Gogoroutine dump / panic stack
Pythontraceback
JavaScriptError.stack / Promise rejection
JavaException stack trace
Rustbacktrace

使用方式

  1. 复制完整堆栈信息
  2. 在 Chat 中粘贴并询问
  3. AI 会自动关联 CKG 中的代码结构
  4. 提供从根因到修复的完整分析

变量与状态检查

运行时状态推理

AI 可以根据代码结构推理变量状态:

与 CKG 集成

通过代码知识图谱,AI 能:


断点建议

智能断点定位

告诉 AI 你遇到的问题,它会建议最有效的断点位置:

示例:
"用户登录后 Session 丢失,应该在哪里打断点?"

AI 回复:
建议在以下位置设置断点:
1. auth/handler.go:45 — Session 创建点
2. middleware/session.go:23 — Session 读取点
3. store/redis.go:67 — Session 存储写入点

条件断点

AI 还会建议条件表达式,减少不必要的中断:


日志分析

日志搜索与关联

将日志片段提交给 AI,它会:

  1. 模式识别:发现重复出现的异常模式
  2. 时间线重建:按时间线梳理事件顺序
  3. 关联分析:将日志条目与代码位置关联
  4. 根因推断:从日志链推断根本原因

日志优化建议

AI 可以审查现有日志代码并建议:


调试工作流示例

场景一:API 返回 500

1. 粘贴错误日志 → AI 解析错误类型
2. AI 通过 CKG 定位相关 handler
3. 分析调用链中可能的失败点
4. 建议具体的修复代码

场景二:并发问题

1. 描述复现条件 → AI 分析竞态窗口
2. AI 检查共享变量的同步机制
3. 识别缺失的锁保护
4. 提供线程安全的修复方案

场景三:性能退化

1. 提供性能数据 → AI 比较历史基线
2. 通过 CKG 分析最近变更
3. 定位热点函数和慢查询
4. 提供优化方案和预估效果

注意事项