GDBFrontend : Easy, Flexible & Extensionable GUI Debugger

GDBFrontend is an easy, flexible and extensionable gui debugger.

Installing

Deb Package (Debian / Ubuntu / KDE Neon)

You can install GDBFrontend via deb package for Debian-based distributions.

You can install it from following commands:

echo “deb [trusted=yes] https://oguzhaneroglu.com/deb/ ./” |
sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt update
sudo apt install gdbfrontend

After installing with APT, you will get updates for new releases on APT upgrade.

You can get upgrades with following commands:

sudo apt update
sudo apt upgrade gdbfrontend

and you can run it:

gdbfrontend

Running From GIT

You can download latest source and run it.

Requirements

  • GDB => 8.2 (with python3)
  • python3
  • tmux

You can run gdb-frontend with following commands:

git clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend
cd gdb-frontend
./gdbfrontend

and you can open it with:

http://127.0.0.1:5551/terminal/

or without terminal:

http://127.0.0.1:5551/

You can open GDB shell with the command:

tmux a -t gdb-frontend

Flatpak

Flatpak package is a TODO.

./gdbfrontend

–help
GDBFrontend is a easy, flexible and extensionable gui debugger.
Options:

–help, -h: Shows this help message.
–version, -v: Shows version.
–gdb-executable=PATH, -g PATH: Specifies GDB executable path (Default is “gdb” command on PATH environment variable.)
–tmux-executable=PATH, -tmux PATH: Specifies Tmux executable path (Default is “tmux” command on PATH environment variable.)
–terminal-id=NAME, -t NAME: Specifies tmux terminal identifier name (Default is “gdb-frontend”.)
–listen=IP, -l IP: Specifies listen address for HTTP and WS servers.
–port=PORT, -p PORT: Specifies port range for three ports to (Gotty: PORT, HTTP: PORT+1, WS: PORT+2).
–http-port=PORT: Specifies HTTP server port.
–server-port=PORT: Specifies WS server port.
–gotty-port=PORT: Specifies Gotty server port.
–readonly, -r: Makes code editor readonly. (Notice: This option is not related to security.)
–verbose, -V: Enables verbose output.

Options

–help, -h
Shows help text.
–version, -v
Shows version.
–gdb-executable=PATH, -g PATH
You can specify GDB executable path like gdbfrontend –-gdb-executable=/path/to/gdb. (Optional)
–tmux-executable=PATH, -tmux PATH
You can specify Tmux executable path like gdbfrontend –tmux-executable=/path/to/tmux. (Optional)
–terminal-id=PATH, -t PATH

You can specify Tmux terminal id like gdbfrontend –terminal-id=terminal-name. (Default: gdb-frontend)
–listen=IP, -l IP
Specifies listen address for HTTP and WS servers.
–port=PORT, -p PORT
Specifies port range for three ports to (Gotty: PORT, HTTP: PORT+1, WS: PORT+2).
–http-port=PORT
Specifies HTTP server port.
–server-port=PORT
Specifies WS server port.
–gotty-port=PORT
Specifies Gotty server port.
–readonly, -r
Makes code editor readonly. (Notice: This option is not related to security.)
–verbose, -v
Enables verbose output.

Troubleshooting

Zombie Processes

Sometimes GDB and gdb-frontend may not be closed correctly. In this case, you can terminate gdb-frontend shell.

tmux kill-session -t gdb-frontend

GDB-Related Issues and Tips

  • GDB does not give sources of linked object until stepping a line that calls a function from the linked object once. You can add break point a line and step it once, then you will see sources from linked object hereafter during the session.

Windows

In fact, gdb-frontend is able to run on Windows but there are some serious issues in the GDB’s Windows version those avoid using gdb-frontend on Windows. Of course you can use gdb-frontend on WSL if you are using Windows 10.

Issues About Windows-GDB

  • GDB’s main-thread is being blocked during running process. (gdb-frontend has an interrupting mechanism to fixing this but it is not enough yet.)
  • Windows-GDB’s prompt is being blocked during running process and there are some issues about interrupting the application.
  • Current release of Windows-GDB contains Python2. New GDB 9 have Python3 but it is not released yet.
R K

Recent Posts

How to Install Java on Ubuntu 24.04 Easily in 2026

Java remains one of the most widely used programming platforms for servers, enterprise applications, Android…

12 hours ago

How to Install DEB Files on Ubuntu in 2026 (Step-by-Step Beginner Guide)

Ubuntu users often download software directly from developer websites instead of using the default app…

12 hours ago

Things to Do After Installing Ubuntu 26.04 LTS for a Fast, Secure Setup

Installing Ubuntu 26.04 LTS is only the first step toward building a smooth, secure, and…

3 days ago

How to Prevent Software Supply Chain Attacks

What is a Software Supply Chain Attack? A software supply chain attack occurs when a…

1 month ago

How UDP Works and Why It Is So Fast

When people ask how UDP works, the simplest answer is this: UDP sends data quickly…

2 months ago

How EDR Killers Bypass Security Tools

Endpoint Detection and Response (EDR) solutions have become a cornerstone of modern cybersecurity, designed to…

2 months ago