解决 Vibe Coding 和 Cursor 使用中的常见问题
1. 查看控制台错误信息
2. 查看终端输出
3. 查看浏览器开发者工具
4. 记录完整的错误堆栈
让 AI 解释错误:
这个错误是什么意思?
[粘贴错误信息]
请解释:
1. 错误原因
2. 可能的影响
3. 如何修复
使用 AI 定位:
这段代码报错了:
[选中相关代码]
错误信息:[粘贴错误]
请帮我:
1. 定位问题所在
2. 分析可能的原因
3. 提供修复方案
症状:代码无法运行,提示语法错误
解决方案 Prompt:
检查这段代码的语法错误:
[选中代码]
请:
1. 找出所有语法错误
2. 提供修复后的代码
3. 解释错误原因
症状:代码能运行,但结果不对
解决方案 Prompt:
这段代码逻辑有问题:
[选中代码]
期望行为:[描述期望]
实际行为:[描述实际]
请分析问题并修复。
症状:运行时崩溃
解决方案 Prompt:
运行时错误:
[粘贴错误信息]
相关代码:
[选中代码]
请:
1. 分析错误原因
2. 添加错误处理
3. 提供修复方案
症状:AI 生成的代码不符合预期
解决方案:
方法 1:更详细的描述
之前的描述不够清楚,重新描述:
[更详细、更具体的需求描述]
方法 2:提供示例
参考这个示例:
[提供示例代码或链接]
请按照类似的风格和结构实现
方法 3:分步骤描述
分步骤实现:
步骤 1:[具体步骤 1]
步骤 2:[具体步骤 2]
步骤 3:[具体步骤 3]
症状:AI 生成的代码与项目不匹配
解决方案 Prompt:
提供更多上下文:
项目技术栈:[列出技术栈]
项目结构:[描述结构]
相关代码:[选中相关代码]
请基于这些信息重新生成代码
症状:AI 使用了错误的技术或库
解决方案 Prompt:
更正技术选型:
之前使用了 [错误的技术]
请改用 [正确的技术]
原因:[说明原因]
请重新实现
刚才生成的代码有问题:
- 问题 1:[具体问题]
- 问题 2:[具体问题]
请修复这些问题
参考这个正确的实现:
[提供正确代码]
请按照这个方式重新实现
这个实现方式可能不是最好的,因为:
[说明原因]
请考虑其他实现方式,比如:
[提供建议]
将复杂问题分解:
这个复杂问题可以分解为:
1. 问题 A:[描述]
2. 问题 B:[描述]
3. 问题 C:[描述]
请逐个解决
让 AI 添加调试日志:
在这段代码中添加详细的日志:
[选中代码]
记录:
- 输入参数
- 关键步骤
- 中间结果
- 错误信息
使用不同日志级别
创建最小复现示例:
创建一个最小示例来复现这个问题:
[描述问题]
只包含必要的代码,便于调试
在这段代码中设置断点:
[选中代码]
请:
1. 指出应该在哪里设置断点
2. 说明如何单步执行
3. 说明需要查看哪些变量
添加结构化日志:
- 使用 JSON 格式
- 包含时间戳
- 包含上下文信息
- 可以过滤和搜索
编写测试来重现这个 bug:
1. 写一个失败的测试(重现问题)
2. 修复代码让测试通过
3. 确保其他测试仍然通过
让 AI 分析性能:
分析这段代码的性能:
[选中代码]
请:
1. 识别可能的性能瓶颈
2. 分析时间复杂度
3. 提供优化建议
添加性能监控:
添加性能监控代码:
- 测量函数执行时间
- 测量数据库查询时间
- 测量 API 响应时间
- 记录内存使用
基于测量结果优化:
性能分析结果:
- 瓶颈:[描述]
- 耗时:[数据]
请优化这段代码,目标是:
[性能目标]
症状:数据库查询次数过多
解决方案 Prompt:
这个代码有 N+1 查询问题:
[选中代码]
请优化为批量查询
症状:循环嵌套或低效循环
解决方案 Prompt:
优化这个循环:
[选中代码]
使用更高效的方法,比如:
- 列表推导式
- map/filter/reduce
- 数据库聚合
症状:内存使用持续增长
解决方案 Prompt:
检查这段代码是否有内存泄漏:
[选中代码]
检查:
- 事件监听器是否正确移除
- 定时器是否清理
- 大对象是否及时释放
症状:依赖包版本不兼容
解决方案 Prompt:
解决依赖版本冲突:
冲突的包:[列出]
当前版本:[版本]
需要的版本:[版本]
请:
1. 分析冲突原因
2. 提供解决方案
3. 更新 package.json
症状:找不到模块
解决方案 Prompt:
模块找不到错误:
[错误信息]
请:
1. 检查是否已安装
2. 检查导入路径
3. 提供安装命令
症状:使用过时的依赖
解决方案 Prompt:
更新项目依赖:
- 检查过时的包
- 更新到最新版本
- 检查破坏性更改
- 更新相关代码
锁定依赖版本:
- 使用 package-lock.json
- 固定主要版本
- 定期更新
审查新依赖:
- 检查安全性
- 检查维护状态
- 检查许可证
- 检查大小
分离依赖类型:
- dependencies:生产依赖
- devDependencies:开发依赖
- peerDependencies:对等依赖
原因:访问了 null 或 undefined 的属性
解决方案 Prompt:
修复这个错误:
[选中代码]
错误:Cannot read property 'X' of null
请:
1. 添加空值检查
2. 使用可选链操作符
3. 提供默认值
原因:模块路径错误或未安装
解决方案 Prompt:
解决模块找不到的问题:
[错误信息]
请:
1. 检查导入路径
2. 检查是否安装
3. 提供正确的导入方式
原因:调用了非函数类型的值
解决方案 Prompt:
修复类型错误:
[选中代码]
错误:X is not a function
请:
1. 检查变量类型
2. 确保正确导入
3. 添加类型检查
原因:无限递归
解决方案 Prompt:
修复无限递归:
[选中代码]
请:
1. 找出递归调用
2. 添加终止条件
3. 优化递归逻辑
原因:跨域请求被阻止
解决方案 Prompt:
解决 CORS 错误:
[错误信息]
请:
1. 配置 CORS 中间件
2. 设置正确的请求头
3. 处理预检请求
创建一个最小示例来重现这个问题
详细描述问题:
- 你在做什么?
- 期望发生什么?
- 实际发生了什么?
- 错误信息是什么?
提供上下文:
- 相关代码
- 项目结构
- 技术栈
- 环境信息
复现步骤:
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
4. 错误发生
// 在代码中添加调试语句
console.log('变量值:', variable);
console.table(arrayData);
console.group('调试组');
console.error('错误信息');
console.warn('警告信息');
让 AI 添加调试代码:
在这段代码中添加 console 调试语句:
[选中代码]
记录关键变量的值
检查 API 请求:
分析这个 API 请求问题:
- 请求 URL:[URL]
- 请求方法:[方法]
- 响应状态:[状态码]
- 响应内容:[内容]
请分析可能的问题
设置断点调试:
在这段代码中:
[选中代码]
请:
1. 指出应该在哪里设置断点
2. 说明如何查看变量值
3. 说明如何单步执行
使用 pdb:
import pdb
# 在代码中设置断点
pdb.set_trace()
让 AI 添加调试:
在这段 Python 代码中添加 pdb 调试:
[选中代码]
在关键位置设置断点
使用 debugger:
// 在代码中添加
debugger;
使用 Node Inspector:
配置 Node.js 调试:
- 使用 --inspect 标志
- 在 Chrome DevTools 中调试
让 AI 实现日志系统:
实现一个日志系统:
- 不同日志级别(DEBUG, INFO, WARN, ERROR)
- 格式化输出
- 可选的文件输出
- 时间戳
分析日志文件:
分析这个日志文件:
[粘贴日志内容]
请:
1. 识别错误模式
2. 找出问题根源
3. 提供解决方案
问题诊断 Prompt:
API 调用失败:
- URL:[URL]
- 方法:[方法]
- 错误:[错误信息]
- 状态码:[状态码]
请:
1. 分析可能的原因
2. 检查请求格式
3. 检查认证信息
4. 提供修复方案
问题诊断 Prompt:
数据库连接失败:
- 错误:[错误信息]
- 数据库类型:[类型]
- 连接字符串:[连接字符串(隐藏敏感信息)]
请:
1. 检查连接参数
2. 检查网络连接
3. 检查权限设置
4. 提供解决方案
问题诊断 Prompt:
前端渲染问题:
- 期望:[描述期望]
- 实际:[描述实际]
- 浏览器:[浏览器版本]
- 控制台错误:[错误信息]
请:
1. 检查 HTML 结构
2. 检查 CSS 样式
3. 检查 JavaScript 逻辑
4. 提供修复方案
问题诊断 Prompt:
构建失败:
- 构建工具:[工具名]
- 错误信息:[错误]
- 配置文件:[相关配置]
请:
1. 分析构建错误
2. 检查依赖
3. 检查配置
4. 提供解决方案
让 AI 进行代码审查:
审查这段代码:
[选中代码]
检查:
1. 潜在的错误
2. 性能问题
3. 安全问题
4. 代码质量
5. 最佳实践
让 AI 添加防御性代码:
为这段代码添加防御性编程:
[选中代码]
包括:
- 输入验证
- 错误处理
- 边界检查
- 空值检查
让 AI 编写测试:
为这个函数编写测试:
[选中函数]
包括:
- 正常情况
- 边界情况
- 错误情况
- 异常情况
故障排除的关键:
遇到问题不要慌,系统化解决! 🚀