GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes or what another program was doing at the moment it crashed.
GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
· Start your program, specifying anything that might affect its behavior.
· Make your program stop on specified conditions.
· Examine what has happened, when your program has stopped.
· Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
The program being debugged can be written in C, C++, Pascal, Objective-C (and many other languages). Those programs might be executing on the same machine as GDB (native) or on another machine (remote). GDB can run on most popular UNIX and Microsoft Windows variants.
What's New in This Release: [ read full changelog ]
· Go language support.
· New targets (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
· More Python scripting improvements.
· SDT (Static Defined Tracing) probes support with SystemTap probes.
· GDBserver improvements (stdio connections, target-side evaluation of breakpoint conditions, remote protocol improvements).
· Other miscellaneous improvements (ability to stop when a shared library is loaded/unloaded, dynamic printf, etc).
· Reverse debugging on ARM.
· The binary "gdbtui" has been abandoned and can no longer be built. Use "gdb -tui" instead.