GDB vs pyOCD
GDB
sourceware.orgpyOCD
pyocd.ioSide by side
| Figure | GDB | pyOCD |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Debuggers | 8.0 (#9) | 8.6 (#3) |
| License | GDB is free software protected by the GNU General Public License, which permits copying, adapting, and redistributing copies with source access. | The project code is licensed under Apache 2.0. |
| Operating systems | GDB runs on popular UNIX and Microsoft Windows variants and on macOS. | The installation guide says pyOCD runs on macOS, Linux, FreeBSD, and Windows and requires Python 3.9 or later. |
| Purpose | GDB lets users inspect what another program is doing while it executes or after it crashes. | pyOCD is a Python based tool and API for debugging, programming, and exploring Arm Cortex microcontrollers. |
| Support | The project provides mailing lists for announcements, discussion, patches, bug reports, and testing. | The project directs users to GitHub issues and discussions, a public Slack workspace, and a Google Groups mailing list. |
Plans
In their own words
GDB
GDB is a free debugger for inspecting a program as it runs or after it crashes. It can launch programs, stop execution under specified conditions, examine the stopped state, and change program state for experimentation. A target can run on the same machine, remotely, or in a simulator. GDB runs on popular UNIX variants, Microsoft Windows, and macOS, and supports languages including C, C++, Rust, Go, Ada, Fortran, Assembly, and others. Debugging options include conditional and exception breakpoints, core dump debugging, and record-and-replay with forward and reverse execution on supported platforms. For remote debugging, gdbserver connects a program to GDB. The console interpreter and GDB/MI are available, while Python extensions and the Debugger Adapter Protocol require Python support at build time. GDB is part of the GNU Project and is free software under the GNU General Public License, which allows copying, adaptation, and redistribution with source access. Official releases are available from GNU and Sourceware, with signature verification through the GNU keyring. Version 18.1 was released on September 25, 2026.
pyOCD
pyOCD is a Python tool and API for debugging, programming, and exploring Arm Cortex microcontrollers. Its GDB server supports command-line debugging and IDE workflows, including Arm CMSIS Debugger, Cortex-Debug, and Eclipse Embedded CDT. It can program firmware and data images into internal or external flash, or load images into RAM. The Python API controls target devices and can support CI setups and custom test or debug tools. More than 70 common Arm Cortex-M devices have built-in support, with CMSIS Device Family Packs available for additional devices. Features include semihosting, SWV, and CMSIS-Pack support. Built-in probe plug-ins include CMSIS-DAP, Raspberry Pi Picoprobe, SEGGER J-Link, STLink, and pyOCD remote; PE Micro Cyclone and Multilink require a separate plug-in. A server and client can share probes over TCP/IP. pyOCD requires Python 3.9 or later and runs on macOS, Linux, FreeBSD, and Windows. It is free, with code licensed under Apache 2.0. Unlocking a supported locked device can require a mass erase, which erases its data.