freertos-gdb
Python module for operating with freeRTOS-kernel objects in GDB
What it is and what it does
freertos-gdb is a Python module that extends GDB's command set to make freeRTOS kernel state human-readable. It registers a `freertos` command with subcommands (`task`, `queue`, `semaphore`, `timer`) that query the running kernel and format task stacks, queue depths, semaphore holders, and timer states into readable tables. You install it via pip, then load it into GDB with a Python import—either interactively or by adding the import to your `.gdbinit` file.
The module is designed for embedded developers debugging freeRTOS applications on microcontrollers. It has no runtime dependencies beyond Python itself and GDB's Python support. The package is in Beta status and has not been actively maintained since early 2025, but the core functionality is stable and the use case is narrow enough that dormancy is not unusual for specialized debugging tools.
Use it for:
- Inspect all running tasks, their priorities, stack usage, and current state during a debug session.
- View queue contents and which tasks are blocked waiting to send or receive, helping diagnose deadlocks.
- Check semaphore and mutex holders and recursion counts to debug synchronization problems.
- Monitor active timers and their periods to verify timer-driven behavior in real-time kernel debugging.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A GDB Python plugin that adds commands to inspect and display freeRTOS kernel objects—tasks, queues, semaphores, and timers—directly from the debugger.
Yes, if you debug freeRTOS applications in GDB. The package is low-friction to install, has no external dependencies, and solves a real problem—raw kernel memory inspection is tedious without it. Dormant maintenance is acceptable here because the plugin targets a stable, narrow API. Not relevant if you don't use freeRTOS or don't debug with GDB.
Install
freertos-gdb on PyPI
pip
pip install freertos-gdbuv
uv add freertos-gdbpoetry
poetry add freertos-gdbInstalling freertos-gdb
Before you install
Low friction: pure Python wheel with no runtime dependencies. Dormant maintenance (last commit 2025-02-03), but the repository is not archived and the package targets a stable, narrow use case.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute this package with minimal restriction, provided you include a copy of the license.
Quickstart
pip install freertos-gdb
Then in GDB:
python import freertos_gdb
(gdb) freertos task
(gdb) freertos queue
(gdb) freertos semaphore
(gdb) freertos timer
GDB must be built with Python 3.6+ support. Verify with: gdb -q -ex "python print('OK' if sys.version_info.major==3 and sys.version_info.minor>=6 else 'NOT SUPPORTED')" -ex "quit"
Verify before relying
- Whether the plugin works correctly with all freeRTOS kernel versions and GDB versions beyond those tested.
- Performance impact when inspecting large numbers of tasks, queues, or semaphores in a single session.
- Compatibility with GDB frontends or IDEs that embed GDB (e.g., VS Code, CLion).
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 557 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 883,056/month — #4,817 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: freertos_gdb-1.0.4-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
gdbmongoGdbmongo provides GDB pretty printers and…
permissive · top 5,000 on PyPI
pygdbmiParses GDB machine interface output into…
permissive · top 5,000 on PyPI
sysv-ipcProvides Python access to System V IPC…
permissive · top 15,000 on PyPI
pyocdpyOCD is a Python-based debugger and programmer…
permissive · top 5,000 on PyPI
types-gdbProvides type stubs for GDB's Python API,…
permissive · top 15,000 on PyPI
spsdk-pyocdIntegrates PyOCD as a debugger probe interface…
permissive · top 15,000 on PyPI
pdb-attachAttaches a Python debugger (pdb) to…
permissive · top 15,000 on PyPI
esp-coredumpRetrieves and analyzes core dumps from ESP32…
permissive · top 5,000 on PyPI
arqarq provides a job queue system for Python that…
permissive · top 5,000 on PyPI
esp-idf-panic-decoderParses ESP-IDF panic handler output (registers…
permissive · top 15,000 on PyPI