Skip to content
SPECIFICTION
Get listed

Black Magic Debug vs Erlang Debugger

Black Magic Debug

black-magic.org

Erlang Debugger

erlang.org

Side by side

FigureBlack Magic DebugErlang Debugger
Price fromFree—
Free planYes—
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Plans published10
Spec score · Debuggers8.7 (#1)7.6 (#14)
Intended usersThe project focuses on professional embedded software developers who want control over their build systems and testing environments.The introduction assumes readers are familiar with the Erlang programming language.
PurposeBlack Magic Debug is a mostly plug-and-play JTAG/SWD debugger for embedded microcontrollers.Erlang Debugger is a graphical interface for the Erlang interpreter used to debug and test Erlang programs.

Plans

Black Magic Debug

  • Black Magic Debug softwareFree

Black Magic Debug pricing →

Erlang Debugger

No plans published.

Erlang Debugger pricing →

In their own words

Black Magic Debug

Black Magic Debug is a free JTAG/SWD debugger for embedded microcontrollers, aimed at professional developers who want control over build systems and testing environments. Its firmware includes a GDB server that detects targets automatically, without target-specific configuration scripts. Debugging tools include watchpoints, flash memory breakpoints, memory and register examination, and flash programming. The project describes support for ARM Cortex-M and Cortex-A microcontrollers; its listed target platforms also include RISC-V, and remote debugging is supported. The probe connects as a standard USB CDC ACM virtual serial device, with no special driver needed for this interface on Linux or macOS. The debugger works with Linux, macOS, and Windows. The GDB server also supports semihosting and host I/O, Serial Wire Output, and USB DFU firmware upgrades. Documentation includes guides for PlatformIO and STM32CubeIDE. It can also be compiled as a desktop application and used with BMP, ST-Link, FTDI-MPSSE, SEGGER J-Link, or CMSIS-DAP adapters. Desktop-app programming is a little slower, though BMP development may be faster because firmware upload is unnecessary. Getting started requires a Black Magic Probe and a suitable target toolchain.

Visit black-magic.org

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