You have to make a hardware modification to most arduino boards to get debugging to work, because the auto-reset functionality interferes with debug communications. Also, you DO need external debugging hardware.
Easiest solution: get an Atmel ATmega328P Xplained Mini development board, which has an on-board debugger chip.