CodeBuddy是交互式调试问答工具,需先打开目标文件、复制完整报错、明确预期与现实差异;提问分单点异常、路径对比、模块锁定三类结构;操作须按打开文件→选中代码→右键提问→验证结论顺序执行。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在控制台看到一串报错却看不出哪行逻辑断了、变量在哪一步被覆盖、异步链路何时丢失时,CodeBuddy 的交互式调试问答就是你最直接的“代码陪诊医生”。它不靠猜,而是基于你给的线索逐层比对语义与执行路径。
提问前必须做好的三件事
打开 VS Code 或微信开发者工具,确保当前项目已正确加载,且目标文件处于编辑器中——CodeBuddy 会自动读取当前打开文件的 AST 结构和依赖上下文。如果文件没打开,它只能靠你粘贴的代码片段做局部推理,容易漏掉 import 链或全局状态影响。
复制控制台完整报错信息,【必须包含文件路径、行号、异常类型(如 TypeError: Cannot read property 'data' of undefined)】。只写“报错了”或“页面白屏”会让模型在几十个可能分支里随机试探。
用一句话说清预期和现实的落差,例如:“本该渲染用户头像列表,结果 UI 完全空白,network 面板显示 API 返回了 200 且有 5 条数据”。这句描述能帮模型锁定是渲染层问题而非请求失败。
提问时的三种有效结构
方法一:聚焦单点异常 → 直接抛出错误栈 + 补充上下文
在 Chat 窗口粘贴完整报错后,换行写:“这段代码运行时报错,预期应输出用户列表,实际返回空数组。注意:useEffect 里调用了 fetchUserList(),但未 await;组件内使用了 user?.avatar 访问头像。”
方法二:对比执行路径 → 描述“应该走哪条路”和“实际走了哪条路”
“dispatch({ type: 'FINISH', payload: { id: 123 } }) 后,按设计应立即触发 handleStart(id: 123),但日志显示 handleStart 是在所有 FINISH 处理完才批量执行的。请分析事件派发机制是否隐含异步队列?”
方法三:锁定可疑模块 → 引用具体函数+说明行为偏差
“请检查 @src/utils/eventBus.js 中的 emit 方法:当 emit('user:login') 时,订阅者 receiveLogin 回调未被执行。已确认 subscribe 调用在 emit 之前,且无 try/catch 捕获异常。”
关键操作顺序(不可跳过)
第一步:在 IDE 中打开出问题的文件,确保光标停在报错行附近。
第二步:选中整个函数体或关键逻辑块(比如 dispatch 调用前后 5 行),右键 → “Ask CodeBuddy”,此时会自动注入该代码块 AST 上下文。
第三步:在弹出对话框中输入指令,例如:“请指出 this.state.users 为空的原因,列出所有可能赋值位置,并标注哪一处在当前流程中实际未执行。”
第四步:点击发送后,等待响应。若模型指出某处初始化缺失,【不要直接修改代码,先验证该行是否真被跳过——可在对应位置加 console.log('init users') 再跑一次】。

















