gdbforge – Vim-Inspired Terminal UI for GDB

gdbforge – Vim-Inspired Terminal UI for GDB

gdbforge – Vim-Inspired Terminal UI for GDB

Open-source terminal debugger front-end for GDB and Delve — multi-pane Vim-style workspace with Lua automation for embedded Linux (remotegdb), Zynq MPSoC, STM32 bare-metal, and Linux kernel kgdb.



My contact details are:



Overview

gdbforge is an open-source terminal debugger front-end for GDB (and optionally Delve for Go).
It adds a Vim-inspired multi-pane workspace — source, GDB console, IO, threads, call stack, and breakpoints — in one keyboard-driven session, without replacing your IDE.

The project includes a Lua script catalog that automates common bring-up steps: spawn J-Link or OpenOCD, deploy to a board over scp, start gdbserver, or break into kgdb over UART. Each workflow is a small, editable script — not a monolithic IDE.


Responsibilities

  • Designed and implemented a keyboard-first TUI with normal / insert / command modes, pane splits, and layout presets.
  • Built GDB and Delve integration behind a single UI (-g gdb / -g dlv).
  • Developed Lua automation scripts for four platform families: embedded Linux, Zynq MPSoC, STM32, and kernel kgdb.
  • Implemented program I/O routing — internal :b io pane vs external terminal for full TUI / curses apps.
  • Organized scripts under lua/ with per-platform READMEs and MkDocs guides for copy-paste recipes.
  • Added background probe spawning (J-Link, OpenOCD) so the Code pane stays responsive during attach.

Achievements

  • Delivered a working cgdb-like alternative with richer structure for threads, breakpoints, and automation.
  • Shipped one-command board debug via :lua remotegdb — deploy, gdbserver, and attach in a single step.
  • Published platform guides for MPSoC (A53/R5), STM32F405, embedded Linux I/O modes, and kernel kgdb.
  • Kept workflows user-editable — each Lua script is ~100 lines with env defaults at the top.
  • Same UI covers local apps, remote gdbserver, bare-metal probes, and kernel debug.

Tech Stack

  • Language: Go (application), Lua (workflows)
  • Debuggers: GDB, Delve
  • Probes: J-Link GDB Server, ST-Link, OpenOCD, Digilent HS2
  • Targets: Embedded Linux (gdbserver), Zynq UltraScale+ MPSoC, STM32F405, Linux kernel (kgdb)
  • Docs: MkDocs, GitHub Pages
  • Build: go build ./cmd/gdbforge

Documentation & Source Code

ResourceLink
GitHub repogithub.com/yairgd/gdbforge
Docs siteyairgd.github.io/gdbforge
Embedded Linux guideEMBEDDED_LINUX_DEBUG
MPSoC guideMPSOC_DEBUG
STM32 guideSTM32_DEBUG
Kernel kgdb guideKERNEL_KGDB

👉 GitHub – gdbforge





Archives

2026 (2)
2025 (9)
2022 (3)
2021 (9)
2020 (18)
2014 (4)