I've been doing a little c programming on AVRs through winavr and I'd like to learn more about what options there are to aid in debugging.
Often I'll realize I have no idea where in the program the chip is freezing. I also would like to know how variables are being updated during program execution. Setting break points and stepping line by line would be awesome.
I've dabbled a little with the Atmel toolset but most of my stuff is interfacing with other chips and I don't know how to do the interfacing so using a pure software emulator doesn't make sense for me - I'd rather be able to look right into a running chip instead.
I understand there are debugging tools and software but I haven't been able to find any posts/information that explains how this stuff works from the ground up - they all seem to think you already know most of the story.
Can anyone point me at an article or post that explains what options there are, what you can do with those options and so on? I think it's time that I invested time in learning some of this stuff.