I’ve developed an Arduino sketch that runs on one Arduino and allows it to control and debug another Arduino, or an AVR-Series micro-controller such as an ATTiny85. With some limitations, you can use the controlling Arduino to disassemble code, single step code, inspect and modify the current value of registers. I/O ports and SRAM and run code with a hardware breakpoint set.
Just a quick update, I’ve updated the code for both DebugWireDebugger and OnePinSerial to improve the automatic baud rate detection and the reliability of debugWire communication using OnePinSerial. The new code has successfully worked with an ATTiny85 running at 8 MHz. See: https://sites.google.com/site/wayneholder/debugwire
I’ve posted a new, part 3 article on my debugger project, along with new code and an overview video. The new code is now able debug an Arduino UNO running at 16 MHz and also includes some bug fixes and enhancements.