Skip to main content

GDB debug server launcher for embedded targets

Project description

🐛 gdbrunner

A simple CLI tool that starts a GDB server and automatically attaches GDB to debug embedded targets.

✨ Features

  • 🔌 Multiple backends - Supports J-Link, ST-Link, and QEMU
  • 🔍 Auto-discovery - Automatically finds STM32CubeProgrammer installation
  • 🧹 Clean lifecycle - Starts the server, attaches GDB, and cleans up when done
  • ⚙️ Configurable - JSON-based backend configuration for easy customization

📦 Installation

pip install gdbrunner

🚀 Usage

gdbrunner <backend> [options] elf

Backends

  • jlink - J-Link GDB server
  • stlink - ST-Link GDB server
  • qemu - QEMU ARM emulator

Examples

# 🔧 Start J-Link and attach GDB
gdbrunner jlink --device STM32H743VI firmware.elf

# 🔧 Start ST-Link and attach GDB (auto-discovers CubeProgrammer path)
gdbrunner stlink firmware.elf

# 👀 Dry run - print server command without running
gdbrunner jlink --device STM32H743VI --dryrun firmware.elf

# 📺 Show server output for debugging connection issues
gdbrunner stlink --show-output firmware.elf

# 🖥️ Start QEMU and attach GDB
gdbrunner qemu --machine mps2-an500 firmware.elf

Run gdbrunner --help for all options.

📄 License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdbrunner-0.0.5.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gdbrunner-0.0.5-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file gdbrunner-0.0.5.tar.gz.

File metadata

  • Download URL: gdbrunner-0.0.5.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdbrunner-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0a43023adfb54cfa9bd43efe48d3354f86316f4d46c70b8a67e814221e1d237a
MD5 48d615f29655d4f0353e1864291e2eb8
BLAKE2b-256 4fabd49f55f71e4ba4d781a2a71ea1d1f187e5c60894eb13b9c58954464ceee6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdbrunner-0.0.5.tar.gz:

Publisher: package.yml on openmv/gdbrunner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gdbrunner-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: gdbrunner-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdbrunner-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c98f011edf937ac770bf9eb7403d8e4cc134714a2a61b75f8dea859f4d732264
MD5 3b7fddd65d0c7c54c9ff9b6aebbc604e
BLAKE2b-256 3aea9d36561c525351acad938ede1dc3065ce78e268d9edf7a6ee1992f2916ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdbrunner-0.0.5-py3-none-any.whl:

Publisher: package.yml on openmv/gdbrunner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page