Arduino Debug Tool - Debug Over Serial, XBee, Bluetooth, IP/Net

Initial Release Anouncement - Updated Oct 2012

The debugger upgrade (being given away for free. offer ends Nov 30th 2012) for the "Arduino for Visual Studio" plugin provides real-time debug of any Arduino project. The power tool ensures that your arduino source code remains clean and free of all debug and diagostics code allowing simpler project development.

Debug Detailed Overview, Guide and Tutorials

The image below shows an example of the conditional "Break Point Manager" that is provided debug tool. Users may define a list of standard or intelligent expression or hit based breakpoints and or tracepoints. Debugging Arduino is as easy as that!

Update Arduino MCU Variables During A Debug Session

 

In Arduino terms we might not actually be "breaking" at a breakpoint (optional but not recommended) but, instead, we use breakpoints to allow program flow, variable comparison, variable change reports etc. and status window(s) updates. In short, we get to automatically see what an Arduino is doing just by clicking lines of source code to add breakpoints.

Visual Micro Power Tools for Visual Studio is due to be released in March 2012. I think the power tools should cost $29 and will provide a range of features not available in the Arduino IDE or in any other Arduino development tool/plugin. The price should be reviewed based on feed back once a document describing all of the features of the power pack is released.

Some features

  • Debug output uses specified serial ports of choice. Automatic messages can be configured, variable outputs at breakpoint locations can be returned to a "watch" monitor.
  • Execution trace window shows what your arduino is doing and much more.
  • Carefully considered breakpoints can also be used to automatically open and highlite the line of running source code in almost real-time.
  • Execution trace window shows what your arduino is doing and much more.
  • Custom code injection at any break point (auto added during complation)

How

When a debug session starts a secondary high speed background "debug" compile is performed adding efficient C++ serial breakpoint reporting to a temporary copy of the current sketch code. Other code such as break point comparisons and hit counters are also added automatically (program space allowing).

Summary

The debug tools alone are a great way to see what your arduino program is doing without users having to add any messy debug code!
The Visual Studio addin is free, it provides all of the Arduino IDE features and much more. The power tools are not required to program and upload to an Arduino using Visual Studio. The revenue generated by the power tools will fund development of the free plugin.

Interesting facts about Visual Studio Breakpoints
Existing Visual Studio plugin users not familiar with Visual Studio breakpoints can start to learn and think about Breakpoints/Debugging right now. The breakpoint features of the new debug tools rely on the standard Visual Studio breakpoint features. So open the Visual Studio Breakpoint window using "Debug>Windows>Breakpoints" and add a few breakpoints to your Arduino sketch. Right mouse click a breakpoint in visual studio to set conditions/hit counters etc. Breakpoints will be retained by Visual Studio until you clear them but you can also export/import breakpoints using the tool bar on the breakpoints window. The import/export of breakpoints provides other quite exciting possibilities!

Debug Detailed Overview, Guide and Tutorials