The software I develop uses command line makefiles. My environment uses free tools as much as possible. If you were to ask me which version of make I am using I would struggle to specify that, because I have installed mingw, cygwin and dev-cpp. However, I do know its “the free one”, not Microsofts, and the one on my path at the moment is from the dev-cpp directory. Anyway thats not the crux of this question.
My code gets pulled from SCM, built, and finally the exe is placed in a bin directory. I want a free full screen graphical debugger that can debug this exe. I’m not looking for an IDE, but maybe the answer will require installing an IDE. I definitely will not consider moving away from command line makefiles to IDE equivalents.
I have tried this with MSVC and I can do it by attaching to the process after it has started. This is not ideal for two reasons: The tool has to be free and I should be able to debug it from startup. And by the way I will not consider MSVS Express. I already tried it and it kept hanging so it’s uninstalled for good now!
In your answer you might want to include instructions as normally these things only work smoothly when you have built the program inside the IDE and I will not be doing that.
The preferred answer will specify a tool that has a small install footprint and works on Linux too. Specify any pre-requisites such as what compiler the code should have been built with. Of course if the instructions are too long then a list of what you have installed yourself is a help.
I will certainly upvote an answer that explains how I can do this with Dev-CPP, as I already have it installed. That doesn’t mean it will be the preferred answer. These are the ideal boxes to be ticked in order of priority.
- Free (Essential)
- Decoupled from the build process (Essential)
- Full Screen Graphical (Essential)
- Minimalist. Just a debugger would be best. Minimize bloat and learning curve (Ideally)
- Powerful debugger i.e. you can be reasonably productive with it (Ideally)
- Cross Platform (Ideally)
4 and 5 may be contradictory, but don’t worry. That is where trade offs will be made.
EDIT: Some very good answers. Please indicate which of the above boxes you have ticked.
Most pro Windows developers use WinDBG which is a UI wrapper around several command line debuggers. It’s a more powerful debugger than MSVC because it can operate in both user and kernel mode and has a flexible command line based set of extensions which can perform a large number of automated tasks. It’s free, as in beer, although probably not as in speech. Using it is much like using gdb although the UI version does have nice dockable window support for watch variables, locals, threads, memory etc.
It’s available as part of the debugging tools for windows (which is free) or the Windows SDK…
http://msdn.microsoft.com/en-us/windows/hardware/gg463009