Arduno Debugger - Alpha Preview

by Visual Micro 16. February 2012 18:16

The debugger was released May 2013 as an upgrade to standard Arduino plugin. The plugin is free but the debugger has an rrp of $49 but is currently being offered for approx. $15, includes 2 years of support and updates. A 30 day free trial is available in all versions of the Visual Micro Arduino plugin

The following is old release material and might no longer be relevant...

This is an aplha preview of the first Arduino debugger that works like a real debugger. An Arduino debugger that can debug projects over any connection type such as Serial, Bluetooth, TCP/Net and Xbee.

Add breakpoints to any line of code and optionaly set a range of properties that enable conditional return of information to the Visual Studio debug listener. This solution removes the need to add debug code to arduino source files and works seemlessly alongside normal serial transmissions.

There are many features that will be documented shortly, but a crude example of some features is pictured below. It is not the best screen shot, the trace doesn't reflect the serial viewer because the view is scrolled for the example

In the example the sketch has "i" as an accumlated sum of Serial.bytesAvailable() and millis() being used both conditionally and as data passed back to Visual Studio. A snippet of arduino code can be entered as a condition or a simple variable (as shown above).

The example shows that some breakpoints are configured to show messages that include {variables} $specialFields allowing quite complex messages to be created very easily.

The variables in the "Variables" window are automatically deduced from the {variables} defined in breakpoint "When Hit". If only {variables} are entered into the "When hit" then no message is produced but we still see an update to the variables window. The number of times a variable has been hit is also recorded. Nb: The variables window will be extended to include details of the function the variable relates to.


Variables and/or messages are optionally sent from the arduino simply by altering the properties of each breakpoint. Code comparison/conditions and hit counter measurement are an example of features that enable us to control the frequency of individual debugger updates. Only the variable data is sent from the arduino, all other message text is outputed by Visual Studio.

A standalone version of the debugger and serial tools will also be released but later this year. The standalone version will be a simple application that allows arduino projects to be compiled in debug or release modes and to enable breakpoints to be configured. This means that the debug tools will be available to use alongside other arduino IDEs. There is no reason why the tool will not be "mono" compatible, allowing other non-windows platforms to benefit

This arduino debug solution is simple enough to operate over wireless such as xbee and can be used in conjunction with wired (or wireless) arduino programming

This tool will be a low price but chargable upgrade to the free Visual Studio IDE Plugin