gf is a GDB frontend for Linux that provides a graphical interface to the GNU Debugger.
The tool addresses the challenge of debugging with GDB's command-line interface by wrapping it in a visual environment. It communicates with GDB as a subprocess, forwarding user interactions to GDB commands and displaying results in organized windows. The interface includes a source code viewer with breakpoint management, a call stack inspector, watch expression evaluation, disassembly and register views, and a bitmap viewer for visualizing RGBA data in memory. Users can interact with the debugger through keyboard shortcuts and mouse actions on the source code, such as Ctrl+Click to run until a line or Shift+Click to skip to a line without executing intermediate code.
The tool suits developers working on Linux who prefer visual debugging over command-line interaction. It integrates with rr for reverse debugging, allowing users to replay recorded execution traces. The project is configured through INI-style files, permitting customization of GDB arguments, keyboard shortcuts, UI scaling, and fonts. Developers can extend the tool's behavior by defining custom commands that invoke standard GDB operations or special internal commands.
Development activity shows consistent maintenance with passing continuous integration checks. The codebase is written in Objective-C and compiles with standard tools like g++. The project accepts contributions and maintains documentation covering both basic usage and advanced features like line inspect mode for evaluating all expressions on a given line.