如何debugging在Arduino硬件上运行的Arduino代码?

有没有办法设置源代码级的断点,在实际的硬件上运行代码,并能够检查variables并继续?

Microsoft Visual Studio 2015 Community Edition(免费)的Visual Micro插件为Arduino提供USBdebugging器。 它可以让你完全按照你的描述。 (不要忘记在IDE安装过程中单击以安装C ++)

debugging器支持串口,RF,蓝牙和一些Wi-Fi。 它可以在Arduino运行时监视或更新variables的值。 包括图表和数据/引脚可视化以及手表,跟踪,中断。

在这里输入图像说明

新闻:2016年1月还发布了针对Arduino Zero的GDBdebugging器。 与串行/蓝牙debugging器一样,GDB版本支持ino / cpp源代码,但还支持Arduino核心和库的debugging。 它支持许多function,例如:跳过,跳出,分步指令或源代码行,内存,寄存器,本机,监视,实时expression式和堆栈跟踪。

在Arduino上设置“源断点”的方法是添加一个串行输出,将您想要查看的值发送到串行监视器。

准备好后,下一步就是转移到WinAVR,AVR Studio以及Atmel JTAG Mark II或Atmel Dragon。

这些程序和设备将允许您通过代码创buildC代码和单步执行,并监视variables和寄存器。 JTAG器件可以单步执行您的C代码或由编译器创build的汇编代码。

需要注意的是,高级embedded式C编程与机器非常接近,必须小心单步中断例程,定时器例程和其他低级例程,因为很多时候它会阻止代码正常工作。

为了检查variables,我只是把它们打印到串口监视器上。 这是我正在做的一个例子:

# Setup Serial.begin(9600); # Loop Serial.println(String(index) + " : " + String(total) + " : " + String(average));