- One of the best open source debuggers that are suitable for debugging a code base written in C/C++, Java, Fortran, etc., on a lot of platforms, including Linux.
- It has the feature of debugging the Operating System kernel code base, which is not possible on other debuggers.
- It can also be used to debug code base or executables on a remote machine.
- It can be very easily scripted to automate the debug process and gather debug information, which can prove to be quite handy
- It can be used to examine memory footprint and can be used to change variable values during the debug process itself.
Room for Improvement:
- One of the basic problems with gdb, is the syntax of gdb. You have to spend some time grasping the basics, before you can start debugging your application.
- Another major problem with gdb is that when debugging threaded applications, it stops the thread to examine the thread details and for taking a thread dump. Quite often, for critical applications, this is not acceptable.
- Debugging code base with scheduler-locking is very difficult through gdb.
A very good open source debugger available for a large number of platforms. It can debug various applications written in programming languages like C/CPP, Java, FORTRAN, etc. It can also do a remote debugging over a slow net connection. GDB is not a good candidate for debugging applications that run on threads, as halting the thread for say 3-5 seconds to take thread dumps, is sometimes not acceptable.