你如何调试在Arduino硬件上运行的Arduino代码?

时间:2011-08-29 03:06:36

标签: debugging arduino

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

3 个答案:

答案 0 :(得分:31)

Microsoft Visual Studio 2015社区版(免费)的Visual Micro插件为Arduino提供USB调试器。它允许您完全按照您的描述进行操作。 (不要忘记在IDE安装期间单击以安装C ++)

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

Enter image description here

新闻:2016年1月还包括发布Arduino Zero的GDB调试器。与串行/蓝牙调试器一样,GDB版本支持ino / cpp源代码,但另外支持Arduino核心和库的调试。它支持许多功能,例如:跳过,跳出,步指令或源代码行,内存,寄存器,本地,监视,实时表达式和堆栈跟踪。

答案 1 :(得分:24)

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

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

这些程序和设备将允许您创建C代码并单步执行代码并监视变量和寄存器。 JTAG设备可以单步执行C代码或编译器创建的汇编代码。

预先警告高级嵌入式C编程仍然非常靠近机器,您必须小心单步执行中断例程,定时器例程和其他低级例程,因为很多时候它会阻止代码正常运行。

答案 2 :(得分:2)

为了检查变量,我只需将它们打印到串行监视器上。 以下是我正在研究的一个例子:

# Setup
Serial.begin(9600);

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