Skip to main content

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.

UI Overview

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

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


Download files

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

Source Distribution

gdbplotter-0.1.2.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

gdbplotter-0.1.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

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

Hashes for gdbplotter-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a6bfa7daf29217d377e5493ef781c7f670792242b2c5654cd1bfe2439a043bf1
MD5 5f3218b3c2461dbcdc0ffc0ff9344a52
BLAKE2b-256 da5a55af1ab249f69f98e8a6cb28293d0e3b36f0a8fe5bfbec87da9e00c3fa6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdbplotter-0.1.2.tar.gz:

Publisher: python-publish.yml on 1atabey1/gdbplotter

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

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

Hashes for gdbplotter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 55d77f49e6d52d2c0c48619827902b50083380bb019c07365b0aff74b8259c9d
MD5 f5b1db55cdf638d7302799ce79c10644
BLAKE2b-256 3c891b4148f58130fdbd451d3a6e6b8e7a3048a585222cfc9723cd6b4a15ab8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdbplotter-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on 1atabey1/gdbplotter

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