This isn't a DROD question per se, but just a general development question...
I know there are many developers who swear by filling up their code with logging and other instrumentation. I know how to debug with that approach, and do use it to some extent, but I much prefer an IDE-based debugger for most problems. (So please, I don't want to hear the "
real programmers use logging"
argument.)
Lately, I've done more Linux development and have been using KDevelop as my IDE. The debugger makes calls to GDB. I suspect that GDB is more powerful and less problematic than the KDevelop debugger, but I don't want to drop down to the clunky shell interface to debug. It's an extra context switch between the source code windows I'm already working in, for one thing. The KDevelop IDE apparently has the following debugger shortcomings (correct me if I'm wrong):
* No window for showing the call stack.
* No window for showing views of memory, i.e. a hex view of the address space.
* When stepping through one thread in a process that has multiple threads, the debugger will automatically bring up source code for other executing threads despite the fact I've placed no breakpoints in them.
* No mouseover tooltips to show the value of data in the source code windows.
* Not much support for getting display values from complex types like STL strings (you have to dig down to the member holding the string buffer) or decoding unicode/utf8 strings.
* When an interrupting signal is detected, like SIGABORT or SIGSEV, the source window will not show the line that generated the signal. Much time would be saved in tracking down problems with uncaught exceptions and access violations if it would do this.
Now, the software is free, and I'm not bitching about KDevelop programmers doing a bad job, but I'm still wondering what else is out there that is a better debugging IDE.
-Erik
____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals |
twitch stream |
youtube archive (NSFW)