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 serverstlink- ST-Link GDB serverqemu- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a43023adfb54cfa9bd43efe48d3354f86316f4d46c70b8a67e814221e1d237a
|
|
| MD5 |
48d615f29655d4f0353e1864291e2eb8
|
|
| BLAKE2b-256 |
4fabd49f55f71e4ba4d781a2a71ea1d1f187e5c60894eb13b9c58954464ceee6
|
Provenance
The following attestation bundles were made for gdbrunner-0.0.5.tar.gz:
Publisher:
package.yml on openmv/gdbrunner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdbrunner-0.0.5.tar.gz -
Subject digest:
0a43023adfb54cfa9bd43efe48d3354f86316f4d46c70b8a67e814221e1d237a - Sigstore transparency entry: 801626733
- Sigstore integration time:
-
Permalink:
openmv/gdbrunner@84c26c29421e346ae4753c74d8031ac44078d9b9 -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/openmv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yml@84c26c29421e346ae4753c74d8031ac44078d9b9 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c98f011edf937ac770bf9eb7403d8e4cc134714a2a61b75f8dea859f4d732264
|
|
| MD5 |
3b7fddd65d0c7c54c9ff9b6aebbc604e
|
|
| BLAKE2b-256 |
3aea9d36561c525351acad938ede1dc3065ce78e268d9edf7a6ee1992f2916ea
|
Provenance
The following attestation bundles were made for gdbrunner-0.0.5-py3-none-any.whl:
Publisher:
package.yml on openmv/gdbrunner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdbrunner-0.0.5-py3-none-any.whl -
Subject digest:
c98f011edf937ac770bf9eb7403d8e4cc134714a2a61b75f8dea859f4d732264 - Sigstore transparency entry: 801626781
- Sigstore integration time:
-
Permalink:
openmv/gdbrunner@84c26c29421e346ae4753c74d8031ac44078d9b9 -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/openmv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yml@84c26c29421e346ae4753c74d8031ac44078d9b9 -
Trigger Event:
push
-
Statement type: