DebugWIRE Arduino vs ICSP PIC debugging

Hello, I'm getting started at debugging, and I own an Atmega168 (Arduino Diecimilla) and a PIC16F873A. I own an MPLAB-ICD2 for PIC debugging and an AVR Dragon for Atmega.

I'd like to know which debugger is more comfortable, faster or reliable in your opinion.

I've heard that DebugWIRE uses only 2 wires, but when changing from debug to program you've to enable/disable debug fuses and so on. I don't know how works the ICSP debugging on PIC.

For my debugging I need to watch variables, and a play/pause button if possible.

Any advice, explanation is highly appreciated.

Martin.

For my debugging I need to watch variables, and a play/pause button if possible.

Most of the members here will only have Atmel AVR experience and a handful will have AVR Dragon experience.

Dragon can emulate the Atmega328P, http://www.atmel.no/webdoc/atmelstudio/supported.devices.AVR.Mega.html

One (at least) of our members has experience: http://forum.arduino.cc/index.php/topic,167110.0.html You may wish to ping them via PM... But Please post your experiences so that a record is available of how this goes!

Ray

My advice is: don't use a hardware debugger.

A lot of microprocessor programming is timing dependent, and as such a debugger will not be particularly useful.

For examining variables, a simple Serial.print will usually do the trick.

DebugWIRE uses only 2 wires, but when changing from debug to program you've to enable/disable debug fuses and so on. I don't know how works the ICSP debugging on PIC.

In a very similar manner.

REGISTER 14-1: CONFIGURATION WORD (ADDRESS 2007h)(1) : DEBUG: In-Circuit Debugger Mode bit 1 = In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins 0 = In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger

Note that the auto-reset circuitry on a Arduino interferes with debugWire.