freertos/freertos-gdb — explained in plain English
Analysis updated 2026-07-20 · repo last pushed 2022-11-21
List all running FreeRTOS tasks with their names, states, priorities, and held mutexes during a debugging session.
Set a breakpoint that only pauses execution when a specific named task hits a line of shared code.
Isolate and troubleshoot a misbehaving task in a busy system with many concurrent tasks running.
Inspect task control blocks by reading device memory to understand task scheduling and resource usage.
| freertos/freertos-gdb | alirezarezvani/promptor | bettyguo/browser-skills | |
|---|---|---|---|
| Stars | 9 | 9 | 9 |
| Language | Python | Python | Python |
| Last pushed | 2022-11-21 | 2025-09-14 | — |
| Maintenance | Dormant | Quiet | — |
| Setup difficulty | moderate | easy | easy |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | pm founder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an embedded project running FreeRTOS and a GDB setup connected to your target device.
freertos-gdb is a debugging helper for developers working with FreeRTOS, a popular operating system used in embedded devices like microcontrollers. When you are debugging code on a small device, it can be hard to see what each part of the system is doing at any given moment. This tool plugs into GDB (a standard debugger used by programmers) to let you see all the running tasks on your device and set breakpoints that only trigger for a specific task. At a high level, it adds two new commands to your debugger. The first command lists every active task and shows useful details like its name, current state (blocked, ready, suspended), priority, and how many resources like mutexes it is holding. The second command lets you set a targeted breakpoint. Normally, a breakpoint pauses the entire system whenever any task hits a certain line of code. With this tool, you can say "only pause the system if the task named Rx reaches this line," which is incredibly useful for isolating the behavior of a single task in a busy system. This tool is designed for embedded software engineers who are actively developing or troubleshooting firmware. Imagine you have a device with a networking task, a sensor-reading task, and a user-interface task all running at the same time. If the networking task is misbehaving, a developer can use this tool to pause execution only when the networking task hits a specific function, rather than stopping every time the other unrelated tasks pass through that same shared code. The project itself is built as a Python script that integrates directly into GDB's existing environment. It works by reading the device's memory to find the FreeRTOS task lists and extracting information from each task's control block. The README notes that it may have undefined behavior in multiprocess environments, so it is best suited for traditional single-core or standard multi-core embedded debugging scenarios.
A GDB helper for FreeRTOS that lets embedded developers list all running tasks and set breakpoints that only trigger for a specific task, making it easier to debug busy microcontroller systems.
Mainly Python. The stack also includes Python, GDB, FreeRTOS.
Dormant — no commits in 2+ years (last push 2022-11-21).
The license terms are not mentioned in the README, so it is unclear what you are allowed to do with this code.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.