I like gdb -- I normally use it in commandline mode, but, if you can't stand that, there are GUI frontends to it like Insight, Ddd, etc. Logs always help, too, and so do core dump files on which you can perform "postmortem debugging" with these same tools.