AVR Dragon

Kind of like this....
(see photo below)

This is ddd which is a really nice gui on top of gdb running on linux.
The Arduino IDE is painful to have to deal with.

Assuming you are on linux, here
are some links to get you started:

http://www.larsen-b.com/Article/315.html

You will need to install avarice, avr-gdb, and ddd
If using an Arduino board, you will also have to modify it to remove the auto-reset
capacitor to allow debug wire to work. I think some of the Arduino boards have a solder
pad that can be unsoldered.
I use 3rd party boards which makes this easier.
You see one of the boards I modified to allow enabling/disabling the auto-reset
cap. I used a machine socket and the cap can be installed for auto-reset or removed
or installed in only one of the pins for debug wire.
The IDE cannot be used to re-burn a bootloader using the Dragon unless you use
a modified avrdude. (its only about 6 lines of changes).
If you don't have a modified avrdude, you will have to use a different ISP programmer
or use avrdude from the commandline to re-burn a bootloader.

--- bill

IMG_6597.JPG

IMG_6598.JPG