Debugging options for Arduino

One of the things the Arduino IDE lacks is a debugger, so I've been looking around for one, for different AVR chips
It seems as though AVR's debugWire only works with their programmer, does anyone know how to use it without the programmer?

Right now, Visual Micro seems like my only choice, even though it is a paid software.

Anyone have any other options for proper debugging?
Thanks

I’m trying to find out if the Arduino Uno can be used with Atmel’s AVR One Debugger and Programmer. The AVR One supports JTAG, dw, and PDI interfaces for programming and debugging, and works with most of the Atmel processors.

Thanks