GDB front ends and other tools

1. GDB Front Ends

Here's a partial list of front ends using GDB. If you know of others, please add a link.

1.1. Using modern GDB/MI

GDB/MI is a line based machine oriented text interface to GDB. It is specifically intended to support the development of systems which use the debugger as component of a larger system. See The GDB/MI Interface in the GDB manual.

1.2. Using the Python API

1.3. Built-in/linked-with GDB

1.4. Using the old (deprecated) annotations mechanism (please fix them!)

2. Other tools that extend GDB

3. Libraries

Here's a partial list of libraries that interface with GDB. If you know of others, please add a link.

3.1. Thin GDB/MI wrappers

These are reusable libraries that provide a programmatic GDB/MI interface, so you can create a GDB frontend without writing an MI parser, etc. You can also look at the source code for the frontends above, and consider reusing their MI bits.

pygdbmi - Python parser to turn gdb mi output into Python dictionaries. Also has class to spawn and manage gdb subprocesses. Used by gdbgui's backend.

gdb - golang library to parse gdb mi output. Also comes with HTTP/WebSocket interface to help develop web-based GDB front ends.

gdbwire - C library.

libmigdb - C library.

3.2. GDB's own libgdb.a

This is just the whole of GDB built as a library. This is how Free Pascal's text mode IDE (fp) wraps GDB, although development versions also support GDB/MI.

Note that libgdb.a is not built by default; you need to run "make libgdb.a".

None: GDB Front Ends (last edited 2023-05-08 14:00:44 by SamJames)

All content (C) 2008 Free Software Foundation. For terms of use, redistribution, and modification, please see the WikiLicense page.