arduino emulator

Well, there is JTAG available on all Atmegas bigger than the Atmega8 on the current Arduino boards. With JTAG you have breakpoints, run control and variable/memory watch. So this is possible, in principal (the Atmega128 on the wiring boards could allready do it)!
But you need a special JTAG programmer, too. And most important, the Arduino and Wiring IDEs lag JTAG support at the moment...

Oli