教程目录

代码报错解决思路

有效定位和解决Cursor生成代码中的错误

问题遇到

Cursor生成的代码虽然通常质量很高,但有时也会出现各种报错。即使是常规任务,有时也会不明原因地出现问题。

今早在给新网站对接Stripe支付,以往是非常顺利的,基本上是一次过,不用再让cursor返工或者出现一些不可预期的bug,但是不知道怎么搞的,今早Cursor仿佛降智了一样,出现了好多个以前我从来不会遇到的问题,写的代码运行起来一堆问题。

一开始心情是非常烦躁的,因为以往对接stripe没出现过这些问题,一下子不知道怎么解决了,后面调整了一下情绪,理性战胜了情绪,开始和cursor认真对话交流了起来,最后7轮左右的对话,对接Stripe成功了,总共大概花了40分钟左右。

解决方案

所以这篇文章我想分享下遇到报错的时候,我是怎么让cursor处理的,解决问题的思路是什么,希望对大家有启发。

解决报错的核心思路

  • 提供完整的报错信息
  • 说明操作步骤和预期结果
  • 要求Cursor先分析问题,不要急着修改代码
  • 在关键节点添加日志,帮助定位问题
  • 始终保持主导地位,不要被Cursor误导

万能报错解决提示词

(完整的报错信息) (报错原因,我做了哪些操作,最后走到了报错这一步) (让cursor先检查一遍这个功能有关的代码,先不急着修改代码,看看哪里出了问题)

这个结构基本是万金油,能让Cursor在第一轮对话的时候先自我思考一遍,然后第二轮对话在第一轮思考的基础上去写修改代码,解决报错的几率会增加非常多。

案例一:用户认证问题

首先第一个报错是用户认证Session没有正确传递的问题,简单来说就是我在网站别的地方登录了,但是点击支付的时候提示我没登陆。

用户认证报错

与Cursor的对话,分析用户认证问题

然后我让Cursor帮我解决这个问题的Prompt是这样构成的:

  • 完整的报错信息
  • 报错原因,我做了哪些操作,最后走到了报错这一步
  • 让cursor先检查一遍这个功能有关的代码,先不急着修改代码,看看哪里出了问题

案例二:Stripe支付报错

第二个报错就比较复杂了,在执行Stripe支付的时候,中间出了一个问题,显示400报错。而且这个报错只显示了一行400报错的代码,没有任何别的报错原因。

于是我为了帮助Cursor更好的定位问题,先把报错信息和原因复述了一遍,然后先让他在关键节点添加日志,我再跑一遍程序,然后通过日志看一下程序具体是运行到哪一步出了问题,以及是为什么这一步会出问题,这就是日志最关键的作用。

Stripe支付报错

添加日志帮助定位问题

日志出来之后,我也不会急着让Cursor直接根据日志修改代码。而是让他先看一遍日志,分析下原因,等第二轮对话再修改代码。这个方法我们前面提到过,能够提高修复的成功率。

Cursor分析日志

让Cursor分析日志错误

然后在图片中可以看到,Cursor貌似并没有对日志分析给出很好的解决方案或者答案,而且它还把我的发票信息搞错了。我在Stripe设置的产品是订阅制,但是它却误以为不是来自订阅付款,而是一次性付款,那这时候我们更不能让他写代码了。

我选择再次询问他,我能提供什么更多的信息给你,并且立刻纠正他的错误,告诉他我的stripe产品是订阅模式。

纠正Cursor的错误认识

纠正Cursor的错误认识

到这一步,我想告诉大家,Cursor很强大,但是我们人脑更强大。Cursor只是我们的手,我们要做它的脑。当它犯糊涂的时候,我们需要帮助它找出错误的原因,更好的定位问题出现了在哪里,而不是被它牵着鼻子走。

哪怕你不懂代码也没关系,我也不懂,你可以看到我也完全是自然语言和他对话,发给他的内容没有任何是技术性相关的。

然后这里他给我了我们3个建议,我选择了第一个。3个我都看不懂,也不知道哪个最好,但是我凭感觉,第一个建议是能获取到当前报错信息量最多的一个。

Cursor提供的三个建议

选择一个最合适的建议

果然,Cursor帮我们加好日志之后,我跑了一遍程序,然后把完整的日志发给它让它帮我去分析,它一下子就定位到了问题,原来是我们目前代码希望接受的信息和Stripe那边的不匹配,所以前面一直400报错。

Cursor分析找到根本问题

通过完整日志,Cursor找到了问题根源

等Cursor帮我修改完代码,我又跑了一遍程序,发现Stripe支付成功了,并且把订阅信息都写入了数据库。

支付成功

问题解决,支付功能正常运行

Stripe支付功能,我不知道让一个初级程序员来写,需要花多长的时间,但我只知道,我一行代码看不懂的人,利用Cursor,前后花了40分钟,就写出来了,可见Cursor是多么厉害。如果使用Cursor的这个人,会代码,那就更厉害了,提效的程度想都不敢想。

总结

Cursor很厉害,但是它始终只是我们的手,我们要做它的脑。任何时候都不要被它牵着鼻子走。

当解决代码报错问题时,请记住以下关键点:

  • 提供完整的报错信息和操作步骤
  • 让Cursor先分析再修改
  • 添加日志帮助定位问题
  • 如果它误解了你的需求,立即纠正
  • 你是主导,Cursor是工具
  • 对它的建议保持批判性思考
  • 耐心对话,问题通常能得到解决

即使你不懂代码,只要掌握了这些方法,也能够有效地解决Cursor生成代码中出现的各种报错问题。