Visual Micro is an Add-In for Microsoft Visual Studio 2008-2013 and for Atmel Studio 6.1-6.2 that allows any Arduino project to be developed compiled, and then uploaded to any Arduino board. Visual Micro is fully compatible with the Arduino development environment and uses the same libraries, source code, and development tools. The difference lies in Visual Micro's user interface which provides an advanced and professional development environment, and allows for more advanced development than the existing Arduino IDE. Visual Micro also includes an optional (not free) Arduino software debugger.
The debugger is unique and for the first time enables Arduino developers to monitor a running Arduino by simply clicking the code they want to monitor. The concept of clicking code and adding break or trace points is common practise. The unique element that Visual Micro provides is to silently add (inject) special (known protocol) Arduino 'Serial' instructions during compilation without altering the developers original source code. The debugger also listens for the special debug Serial messages and populates the various debugger status windows to reflect what is happening on the Arduino. When required, for break points that pause and wait, the 'Serial' is also used by the Arduino to listen for the F5 Continue command. The debugger supports many features found in hardware debug tools such as conditional breakpoints, hit counters and update of variables without need to re-compile. There is also a few features not found in other debug tools such as timed break points and trace points (ie: every x millis)