explaingit

cyrus-and/gdb-dashboard

12,193PythonAudience · developerComplexity · 1/5Setup · easy

TLDR

A single config file that gives GDB a persistent visual dashboard, showing source code, variables, call stack, and registers automatically each time your program pauses, so you stop typing inspection commands.

Mindmap

mindmap
  root((repo))
    What it does
      Visual GDB display
      Auto-refresh panels
      No commands needed
    Tech stack
      Python extension
      GDB built-in API
    Panels
      Source code
      Call stack
      Registers
      Variables
    Use cases
      C and C++ debugging
      Embedded debugging
    Setup
      Copy .gdbinit file
      Optional Pygments
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Debug a C or C++ program in GDB and see source code, variable values, and the call stack all at once without typing repeated commands.

USE CASE 2

Customize which information panels appear while stepping through code to match your debugging style.

USE CASE 3

Add syntax-highlighted source display to your GDB sessions by installing the optional Pygments library.

Tech stack

PythonGDB

Getting it running

Difficulty · easy Time to first run · 5min

Copy the .gdbinit file to your home directory, install Pygments for optional color syntax highlighting.

In plain English

GDB is a widely used command-line debugger for programs written in C, C++, and other compiled languages. When debugging, developers typically pause a running program at certain points and then type individual commands to inspect variable values, the call stack, memory contents, and other details about what the program is doing. This back-and-forth can be slow when many pieces of information need to be checked at the same time. GDB dashboard addresses this by adding a persistent visual display that shows relevant information automatically each time execution pauses, so the developer can stay focused on the program's control flow rather than on typing inspection commands. The project is a single configuration file, called .gdbinit, written in Python using GDB's own Python extension interface. Installation consists of copying that file to your home directory. GDB loads it automatically at startup, and from that point the dashboard appears every time your program stops. No existing GDB commands are changed or replaced. The interface is described as modular, meaning different panels of information can be shown or hidden to suit your workflow. All dashboard controls are accessible through a single dashboard command added by the tool. Optionally, installing Pygments, a Python syntax-highlighting library, adds color to the output, making code and data easier to read at a glance. The README is short and links to the project's wiki for further instructions on common tasks and customization options. The individual display panels and all available configuration settings are documented there rather than in the main README.

Copy-paste prompts

Prompt 1
I installed gdb-dashboard, how do I show and hide specific panels like source code and call stack using the dashboard command?
Prompt 2
Configure gdb-dashboard to display CPU registers and a memory dump alongside source code when debugging a C++ binary.
Prompt 3
Write a GDB script using gdb-dashboard that automatically breaks at a function entry and prints a specific variable each time execution stops there.
Open on GitHub → Explain another repo

← cyrus-and on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.