Skip to content

A statically compiled gdb/gdbserver-15.x repository

Notifications You must be signed in to change notification settings

guyush1/gdb-static

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gdb-static

Frozen static builds of everyone's favorite debugger!🧊

TL;DR

Introduction

Who doesn't love GDB? It's such a powerful tool, with such a great package.
But sometimes, you run into one of these problems:

  • You can't install GDB on your machine
  • You can't install an updated version of GDB on your machine
  • Some other strange embedded reasons...

This is where gdb-static comes in! We provide static builds of gdb (and gdbserver of course), so you can run them on any machine, without any dependencies!

Features
  • Static Builds: No dependencies, no installation, just download and run!
  • Latest Versions: We keep our builds up-to-date with the latest versions of GDB.
  • Builtin Python (Optional): We provide builds with Python support built-in.
  • XML Support: Our builds come with XML support built-in, which is useful for some GDB commands.
  • Wide Architecture Support: We support a wide range of architectures:
    • aarch64
    • arm
    • mips
    • mipsel
    • powerpc
    • x86_64

Usage

To get started with gdb-static, simply download the build for your architecture from the releases page, extract the archive, and copy the binary to your desired platform.

Note

We provide two types of builds:

  1. Builds with Python support, which are approximately ~30 MB in size.
  2. Slimmer builds without Python support, which are approximately ~7 MB in size.

You may choose to copy the gdb binary to the platform, or use gdbserver to debug remotely.

Development

Note

Before building, make sure to initialize & sync the git submodules.

Alternatively, you can build gdb-static from source. To do so, follow the instructions below:

Pre-requisites
To be able to build `gdb-static`, you will need the following tools installed on your machine:

  • Docker
  • Docker buildx
  • Git
Building for a specific architecture

To build gdb-static for a specific architecture, run the following command:

make build[-with-python]-<ARCH>

Where <ARCH> is the architecture you want to build for, and -with-python may be added in order to compile gdb with Python support.

The resulting binary will be placed in the build/artifacts/ directory:

build/
└── artifacts/
    └── <ARCH>/
        └── ...
Building for all architectures

To build gdb-static for all supported architectures, run the following command:

make build

The resulting binary will be placed in the build/artifacts/ directory.

Contributing

  • Bug Report: If you see an error message or encounter an issue while using gdb-static, please create a bug report.

  • Feature Request: If you have an idea or if there is a capability that is missing and would make gdb-static more robust, please submit a feature request.

Contributors