Debugging

I have been writing code on the arduino that has been in need of debugging and just added serial.println statements by the dozens. I have been able to debug stuff pretty well. I suppose you could do something with an external interrupt if you wanted to halt the program in mid execution but that is not like inserting a breakpoint in a C program.