GDB
What it is
GDB is a free debugger for examining programs during execution or after a crash. It can start a program, stop it when specified conditions occur, inspect its state and change that state for experimentation. Programs may run locally, on another machine or in a simulator. GDB works with macOS, Microsoft Windows and popular UNIX variants, and supports languages including C, C++, Rust, Go, Ada, Fortran, Assembly, Objective-C and Pascal. Debugging capabilities include conditional and exception breakpoints, core dump debugging, and record-and-replay with forward and reverse execution on supported platforms. For remote debugging, gdbserver connects a target program to GDB. The debugger has console and GDB/MI interfaces; Python extensions and the Debugger Adapter Protocol are available when built with Python support. GDB is part of the GNU Project and is free software under the GNU General Public License, which permits copying, adaptation and redistribution with source access. Official releases are available from GNU and Sourceware, with signature verification through the GNU keyring. The project provides mailing lists for announcements, discussion, patches, bug reports and testing.
For and against
For
- Free software under the GNU General Public License.
- Supports conditional and exception breakpoints.
- Remote debugging connects through gdbserver.
- Record-and-replay supports reverse execution on some platforms.
Against
- Python extensions require a Python-configured build.
- Record-and-replay is limited to supported platforms.
- The Debugger Adapter Protocol requires Python support.
The verdict
GDB provides broad debugging functions for local, remote and simulator targets. Check build requirements for Python-based extensions and platform support for record-and-replay.
Who it suits
GDB suits developers who need to inspect programs across supported operating systems and languages. Its remote and simulator targets also suit debugging beyond a local machine.
Plans and prices
GDB
GNU General Public License · source code available
Read 30 Sep 2026 · sourceware.org
On the record
- Core debugging
- GDB can start programs, stop them under specified conditions, examine stopped execution, and change program state for experimentation.sourceware.org · read 30 Sep 2026
- Debugger protocols
- GDB supports the console interpreter, GDB/MI, and the Debugger Adapter Protocol when built with Python support.sourceware.org · read 30 Sep 2026
- Distribution
- Official releases are downloadable from GNU's HTTPS server and Sourceware's releases site, with signature verification through the GNU keyring.sourceware.org · read 30 Sep 2026
- Languages
- GDB supports Ada, Assembly, C, C++, D, Fortran, Go, Objective-C, OpenCL, Modula-2, Pascal, and Rust.sourceware.org · read 30 Sep 2026
- Latest release
- GDB version 18.1 was released on September 25, 2026.sourceware.org · read 30 Sep 2026
- License
- GDB is free software protected by the GNU General Public License, which permits copying, adapting, and redistributing copies with source access.sourceware.org · read 30 Sep 2026
- Operating systems
- GDB runs on popular UNIX and Microsoft Windows variants and on macOS.sourceware.org · read 30 Sep 2026
- Project identity
- GDB is a Free Software project that is part of the GNU Project.sourceware.org · read 30 Sep 2026
- Purpose
- GDB lets users inspect what another program is doing while it executes or after it crashes.sourceware.org · read 30 Sep 2026
- Python extension
- GDB can be extended with Python when configured with --with-python.sourceware.org · read 30 Sep 2026
- Record and replay
- On supported platforms, GDB records process execution and replays it with forward and reverse execution commands.sourceware.org · read 30 Sep 2026
- Remote debugging
- The gdbserver control program connects programs to a remote GDB through target remote or target extended-remote.sourceware.org · read 30 Sep 2026
- Security behavior
- On targets that support it, virtual address space randomization protects programs against certain security attacks.sourceware.org · read 30 Sep 2026
- Support
- The project provides mailing lists for announcements, discussion, patches, bug reports, and testing.sourceware.org · read 30 Sep 2026
- Targets
- Programs can run on the same machine, another machine remotely, or a simulator.sourceware.org · read 30 Sep 2026