Skip to content
SPECIFICTION
Get listed

Erlang Debugger vs OpenOCD

Erlang Debugger

erlang.org

OpenOCD

openocd.org

Side by side

FigureErlang DebuggerOpenOCD
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published01
Spec score · Debuggers7.6 (#14)7.8 (#12)
PurposeErlang Debugger is a graphical interface for the Erlang interpreter used to debug and test Erlang programs.OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices using a debug adapter.

Plans

Erlang Debugger

No plans published.

Erlang Debugger pricing →

OpenOCD

  • OpenOCDFree

OpenOCD 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

OpenOCD

OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices through a debug adapter. It communicates with targets over JTAG or Serial Wire Debug (SWD), and can run as a server for GDB clients. Users can also interact through Telnet or GDB; its Tcl interface is intended for machine interaction, and configuration files can contain commands using the documented Tcl scripting API. The target list includes ARM, MIPS, RISC-V, Xtensa, ARC, AVR32, and other architectures. Release 0.12.0 notes support for Espressif ESP32, ESP32-S2, ESP32-S3 cores, and Raspberry Pi Pico RP2040, along with Zephyr and a no-RTOS option. OpenOCD supports remote debugging and exception breakpoints. It is free and listed for Linux, macOS, Windows, and self-hosted setups. The project says it is packaged in popular operating-system repositories and provides access to source code; community binaries are marked unofficial. Host configuration may take extra steps: Linux usually needs a udev rule for adapter access, and Windows requires driver configuration for each peripheral.

Visit openocd.org