Alternative IDE (Integrated Development Environment)

I am looking for an IDE that allows me to put breakpoints into the code and examine variables. This is very standard in all of the environments I have worked with in the past, but I have no idea if this is even possible with Arduino platforms.

Are there any environments that support active debugging? Baring that, what are the best alternatives to the rather limited Arduino IDE?

Your post is going to hurt peoples feeling The ide is not limited it's just what it is you can watch the code with the serial monitor just have it print it out. I don't see not having breakpoints as a limitation.
Code runs from a to B then print it out works just as good and is in real time.

The limitation is not the IDE, it is the hardware.

The basic Arduino boards do not support any debugging or emulation. The basic AVR used only has a very limited hardware debugger (DebugWIRE?) which requires giving up the RESET pin.

For proper debugging support, you might want to look at the Arduino Zero. It's supports Atmel's Design Studio and features the first Arduino board with an on-board debugger.

rhj4:
I am looking for an IDE that allows me to put breakpoints into the code and examine variables. This is very standard in all of the environments I have worked with in the past, but I have no idea if this is even possible with Arduino platforms.

It's not, but more to the point, it is not efficient.

The sort of real-time things for which most Arduinox are used, are clearly different from what you have been using so far. "Crash and burn" debugging is quite effective.

rhj4:
Are there any environments that support active debugging? Baring that, what are the best alternatives to the rather limited Arduino IDE?

That's not possible with the 8-bit Atmega microcontrollers.

The problem with real-time debugging based on source code breakpoints is: Your compiled code is

  • NOT working on the same machine where you compile it
  • NOT even compiled for the same platform

So for what you want, you will need to use:

  • a microcontroller platform that supports "external debugging"
  • you will need a "programmer" that supports "external debugging"
  • and last but not least you will need an IDE that supports "external debugging" with such debuggers and microcontrollers

With the Arduino-IDE and Atmega controllers your options for debugging are

  • Serial debugging sending debug messages over Serial
  • oszilloscope debugging by setting pins HIGH or LOW for debugging reasons (i.e. measure timings visually)

I have settled in on Visual Micro for Visual Studio 2013. It's massively better than the Arduino IDE and I can watch variable values in real time.

Looks like it is adding a monitor to the sketch and emulating a hardware debugger.

While clever, it does have a major drawback: it alters the program's behavior. Adding serial commands, timed breakpoints, etc may affect timing and available RAM on your project (2K isn't much to work with). Very possible you'll go to debug a problem, but only create more problems in the process.

The upside is, for simple programs, you do get back much of the functionality of a true hardware debugger.