Debugging

I don't want to monitor the application in real time. I want to step trough it with the debugger. Obviously debugging would not be real time, because you are inserting breakpoints.

As far as I know using tools like AVR Studio you can do this using a fairly inexpensive (50$) JTAG or ICE interface like this one

As far as I can see the Arduino-USB board has no JTAG connector, so it can't be debugged.

Correct me if I am wrong. I have been a programmer for quite a while, but had not had much contact with embedded microcontrollers since 1990. It seems to me without a debugger it will be much more difficult (time consuming) to found out and fix a problem.