调bug经验

我最近在调代码,我耗费了将近一天的时间,最后总结了一些经验,希望和大家聊一下。

这个bug很简单,但正是这种简单,使得我忽略了这么简单的bug,耗费了一些时间才发现。这个bug是把画图参数线宽的值1.5写为1,5,看见了没有,把点号写为了逗号。

那么我是如何发现的呢?

我搜索各种报错的文章,始终不能解决我的问题。

我有点受不了了,我用“最笨”的办法,死扣报错信息,又使用了单步调试,定位到具体的一行,最终终于发现了bug。

现在看来,我觉得还是有一些经验能写出来,希望大家能避免此类的bug。

我发现用“最笨”的办法来调试,来找bug,反而是最快的办法。所以在调试的时候实在没办法了,就死扣报错信息,很快便能找出bug的地方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Arduino程序在编写过程中可以通过串口输出试信息,这些信息可以通过串口监视器查看。在程序中可以使用Serial.print()、Serial.println()等函数输出试信息。同时,也可以使用Serial.begin()函数初始化串口通信,指定波特率等参数。 另外,可以利用Arduino的试工具,例如Arduino的IDE集成了Serial Monitor,可以通过该工具实时查看程序输出的试信息。 还可以通过使用LED等外设进行试,例如在程序中加入控制LED的代码,通过观察LED的闪烁情况来判断程序是否正常运行。 最后,可以使用试器进行试。Arduino可以使用GDB试器进行试,需要使用硬件试器进行连接。这种方法需要较高的技术水平和一定的经验。 ### 回答2: Arduino程序的试可以通过以下几个步骤来进行: 1. 使用Serial.print()函数输出变量的值:在程序中插入Serial.print()语句,可以将变量的值输出到串口监视器中。这样可以观察变量的变化,并判断程序的执行流程是否符合预期。 2. 利用串口通信进行试:通过串口通信可以与Arduino进行交互,可以使用Serial.begin()函数启动串口通信,并在程序中使用Serial.read()函数读取串口输入。通过串口输入来控制程序的执行流程,比如输入特定指令来改变变量的值,以观察程序的不同状态。 3. 使用delay()函数设置延时:在程序中使用delay()函数可以在特定位置添加延时,这样可以观察程序在不同时间段的状态。可以通过适当延长延时时间来进行程序的试,以确保每个步骤的执行时间符合预期。 4. 使用断点试工具:使用Arduino IDE等集成开发环境提供的断点试工具可以更方便地观察程序的执行状态。可以在程序中设置断点,当程序运行到断点时会暂停执行,可以逐步单步执行程序,观察变量的变化和程序的执行流程,以定位问题所在。 5. 通过添加额外输出进行试:在程序中添加额外的输出,如LED亮灭或者蜂鸣器响声,可以在程序不同位置看到明显的状态变化,从而判断程序的执行情况。 总之,试Arduino程序需要观察程序的执行状态、变量的变化以及程序的执行流程。通过上述方法,可以逐步排查问题所在,找到并修复程序中的bug。 ### 回答3: Arduino是一款开源的硬件平台,可以进行物联网、机器人和电子项目的开发。为了确保Arduino程序能够正常运行,我们需要进行试。 首先,我们应该检查硬件连接是否正确。确保Arduino开发板与计算机通过USB线连接,并使用正确的电源来供电。检查电路连接,确保没有松动或错误的连接。 其次,我们需要在Arduino集成开发环境(IDE)中试程序。首先,确保已选择正确的开发板和端口。然后编写代码并上传到开发板。如果上传失败,可以尝试重新连接开发板或更换USB线。检查代码是否存在语法错误或逻辑错误,并通过观察控制台输出来寻找问题。 在程序试过程中,可以使用串口通信与开发板进行交互。使用Serial.begin()函数初始化串口,并使用Serial.print()或Serial.println()函数输出试信息。在代码中插入适当的试语句,观察其输出以确定程序的执行情况。 此外,可以使用Arduino的试工具和库来帮助试。例如,通过使用LED来指示程序的执行状态,或使用LCD屏幕显示变量的值。还可以使用其他传感器来监测程序的运行状况,检测硬件是否正常。 总之,Arduino程序试的关键在于仔细检查硬件连接和代码,并利用Arduino的试工具和函数来定位和解决问题。通过不断试和观察程序的执行情况,可以确保Arduino程序的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值