Simple UI for printing GDB memory values
Project description
gdbplotter
Lightweight Python tool that connects to a running gdb server and visualises data from given memory addresses.
Features
- Communicate with a GDB server and read out specific memory regions
- Specify decoding rules for each region
- Simple plotting UI for quick inspection of numeric traces
Installation
Install from pypi
pip install gdbplotter
Install from source into a virtual environment:
uv sync
Usage
- Run interactively (should be installed into Scripts or bin of the virtualenv by default):
gdbplotter
- Run as python module (if previous method doesnt work)
python -m gdbplotter
- Or import in your own scripts:
from gdbplotter import gdbparser
# parse gdb output and plot
Specifying your memory regions
gdbplotter parses its signals based on the base addresses and format strings that you define in the Memory Regions tab. You can't run the tool without specifying at least one memory region first.
You can find the base address of your variables by simply starting a gdb instance and with your debug symbols loaded:
gdb
>file main.elf
>target remote localhost:50000
>print &variable
The format string structure for decoding the fields of your data region can be looked up in the Python documentation
Configuration
Upon first run of the GUI, the tool will create a file called gdbplotter_config.json in the working directory — edit this to change default behavior (input paths, plotting options, etc.).
Tests
There is a small test helper in test/gdbservermock.py for development. Run tests or examples manually as needed.
Note
Be aware that this only really makes sense on target architectures that allow reading the memory while the target is running (e.g. "Cortex Live Watch"). Tested with various STM32 processors and regular STLinks.
Project details
Release history Release notifications | RSS feed
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 gdbplotter-0.1.2.tar.gz.
File metadata
- Download URL: gdbplotter-0.1.2.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6bfa7daf29217d377e5493ef781c7f670792242b2c5654cd1bfe2439a043bf1
|
|
| MD5 |
5f3218b3c2461dbcdc0ffc0ff9344a52
|
|
| BLAKE2b-256 |
da5a55af1ab249f69f98e8a6cb28293d0e3b36f0a8fe5bfbec87da9e00c3fa6f
|
Provenance
The following attestation bundles were made for gdbplotter-0.1.2.tar.gz:
Publisher:
python-publish.yml on 1atabey1/gdbplotter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdbplotter-0.1.2.tar.gz -
Subject digest:
a6bfa7daf29217d377e5493ef781c7f670792242b2c5654cd1bfe2439a043bf1 - Sigstore transparency entry: 763843549
- Sigstore integration time:
-
Permalink:
1atabey1/gdbplotter@de4b4b4c5e0e9b114c0019e7d1a3f5ac85952f5a -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/1atabey1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@de4b4b4c5e0e9b114c0019e7d1a3f5ac85952f5a -
Trigger Event:
release
-
Statement type:
File details
Details for the file gdbplotter-0.1.2-py3-none-any.whl.
File metadata
- Download URL: gdbplotter-0.1.2-py3-none-any.whl
- Upload date:
- Size: 14.1 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 |
55d77f49e6d52d2c0c48619827902b50083380bb019c07365b0aff74b8259c9d
|
|
| MD5 |
f5b1db55cdf638d7302799ce79c10644
|
|
| BLAKE2b-256 |
3c891b4148f58130fdbd451d3a6e6b8e7a3048a585222cfc9723cd6b4a15ab8e
|
Provenance
The following attestation bundles were made for gdbplotter-0.1.2-py3-none-any.whl:
Publisher:
python-publish.yml on 1atabey1/gdbplotter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdbplotter-0.1.2-py3-none-any.whl -
Subject digest:
55d77f49e6d52d2c0c48619827902b50083380bb019c07365b0aff74b8259c9d - Sigstore transparency entry: 763843550
- Sigstore integration time:
-
Permalink:
1atabey1/gdbplotter@de4b4b4c5e0e9b114c0019e7d1a3f5ac85952f5a -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/1atabey1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@de4b4b4c5e0e9b114c0019e7d1a3f5ac85952f5a -
Trigger Event:
release
-
Statement type: