Skip to content
SPECIFICTION
Get listed

Erlang Debugger vs pyOCD

Erlang Debugger

erlang.org

pyOCD

pyocd.io

Side by side

FigureErlang DebuggerpyOCD
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published01
Spec score · Debuggers7.6 (#14)8.6 (#3)
LicenseErlang/OTP has been released under Apache License 2.0 since OTP 18.0.The project code is licensed under Apache 2.0.
PurposeErlang Debugger is a graphical interface for the Erlang interpreter used to debug and test Erlang programs.pyOCD is a Python based tool and API for debugging, programming, and exploring Arm Cortex microcontrollers.

Plans

Erlang Debugger

No plans published.

Erlang Debugger pricing →

pyOCD

  • pyOCDFree

pyOCD pricing →

In their own words

Erlang Debugger

Erlang Debugger is a graphical interface for debugging and testing Erlang programs. Developers can set line, conditional, and function breakpoints, then attach to a process to step, continue, finish, skip, or stop its execution. The Attach Process window displays variable bindings and allows editing values when they can be represented in the running system. A Monitor window shows interpreted modules and information about processes running interpreted code. Debugger can record interpreted function calls for stack navigation, though recording tail calls uses more memory and can slow execution when many tail-recursive calls are involved. Modules need debug information, for example from compilation with `erlc +debug_info`. Global mode can interpret code on known nodes and display their processes, but the documentation warns that using global mode on multiple network nodes can cause interference. The debugger is listed for Linux, macOS, and Windows, and Erlang/OTP releases from version 18.0 onward use the Apache License 2.0. Debugging has runtime tradeoffs: interpreted code runs slower, each debugged process adds a meta process, and timers or tracing may behave differently.

Visit erlang.org

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.

Visit pyocd.io