EVERYTHING XIAOMI
Get listed
Erlang Debugger logo

Erlang Debugger

Erlang Debugger is a graphical tool for debugging and testing Erlang programs.

Place
#18 of 25
Score
5.8
Erlang Debugger's website

What Erlang Debugger is

Erlang Debugger is a graphical tool for debugging and testing Erlang programs. It supports line, conditional, and function breakpoints, and lets users attach to a process to step, continue, finish, skip, or stop execution. The Attach Process window displays variable bindings and allows edits when values can be represented in the running system. A Monitor window shows interpreted modules and process information. Debugger can record interpreted function calls for stack navigation, while global mode interprets code on known nodes and displays their processes. Modules need debug information, such as information added with `erlc +debug_info`. Debugging has performance and runtime tradeoffs: interpreted code runs more slowly, each debugged process adds a meta process, and timers may behave differently while execution is paused. Code replacement does not work for debugged processes. The tool is free and open source, and is listed for Linux, macOS, and Windows. Erlang/OTP releases from version 18.0 onward use the Apache License 2.0.

Good

  • Supports line, conditional, and function breakpoints
  • Allows process stepping and variable inspection
  • Global mode displays processes on known nodes
  • Free and open source

Watch out

  • Debugged code runs slower than regularly compiled modules
  • Debugged processes add a meta process
  • Timers can behave differently during debugging
  • Code replacement does not work for debugged processes

Who it suits

This tool suits Erlang developers who need process inspection, breakpoints, or remote-node debugging. Users should be familiar with Erlang and account for its interpreted-code tradeoffs.

Verdict

Erlang Debugger offers detailed process controls and inspection for Erlang development across Linux, macOS, and Windows. It is a focused option, but debugging can affect performance and program timing.

The facts

Each one read from Erlang Debugger's own pages, with the date it was checked.

What it does

Breakpoints
It supports line, conditional, and function breakpoints; when a process reaches a breakpoint, it pauses for commands such as step, skip, or continue.checked 9 Oct 2026
Code loading
Reinterpreting a module does not change the code version used by processes already executing the previous interpreted version.checked 9 Oct 2026
Code replacement limitation
Code replacement does not work for debugged processes because they use code stored when their modules were interpreted.checked 8 Oct 2026
Distribution
The Erlang/OTP download page offers source builds, Windows installers, and package-manager instructions for macOS and several Linux distributions.checked 8 Oct 2026
Inspect variables
The Attach Process window displays variable bindings and allows editing values, with some runtime values not editable unless representable in the running system.checked 8 Oct 2026
Intended users
The introduction assumes readers are familiar with the Erlang programming language.checked 8 Oct 2026
License
Erlang/OTP has been released under Apache License 2.0 since OTP 18.0.checked 9 Oct 2026
Maintainer
The Erlang/OTP unit at Ericsson is the main developer and maintainer of Erlang/OTP.checked 9 Oct 2026
Performance
Interpreted code runs slower than regularly compiled modules, and Debugger creates an additional meta process for each debugged process.checked 8 Oct 2026
Performance limit
Interpreted code runs more slowly than regularly compiled code, and each debugged process adds a meta process.checked 9 Oct 2026
Prerequisite
Modules to be debugged must be compiled with debug information enabled.checked 9 Oct 2026
Process controls
When attached to a process, users can step, continue, finish, skip, or stop its execution.checked 8 Oct 2026
Process inspection
Attaching to a process lets the user control execution, inspect variable values, and set breakpoints.checked 9 Oct 2026
Process monitoring
The Monitor window displays interpreted modules and information about processes executing interpreted code.checked 9 Oct 2026
Purpose
Erlang Debugger is a graphical interface for the Erlang interpreter used to debug and test Erlang programs.checked 9 Oct 2026
Remote nodes
Global mode interprets code on all known Erlang nodes and displays eligible processes from other nodes for attachment.checked 9 Oct 2026
Stack trace
Debugger can record interpreted function calls for stack navigation, and recording tail calls uses more memory and slows execution when there are many tail-recursive calls.checked 8 Oct 2026
Supported interpreter dependencies
The interpreter depends on the Kernel, STDLIB, and WX applications, and modules in those applications or Debugger cannot be interpreted.checked 9 Oct 2026
Timer behavior
Programs with timers can behave differently during debugging, especially when a process is stopped while other processes continue running.checked 9 Oct 2026
Timing limitation
Programs with timers can behave differently while debugged, and stopping a process can allow time-outs in other processes to occur.checked 8 Oct 2026
Tracing caveat
Debugger may start tracing processes that execute interpreted code, which can conflict with tracing started by other means.checked 9 Oct 2026

Alternatives to Erlang Debugger

All alternatives
  1. 1

    SingleStore Helios

    Free planWebAPILinuxmacOS
    8.1Free plan
  2. 2Amazon ElastiCache logo

    Amazon ElastiCache

    Free planWebAPILinuxmacOS
    7.9From $0.09 a month
  3. 3Aerospike Database logo

    Aerospike Database

    Free planOpen sourceWebAPILinuxmacOS
    7.8Free plan
  4. 4

    VoltDB

    Free planOpen sourceWebAPILinuxmacOS
    7.6Free plan
  5. 5Apache Ignite logo

    Apache Ignite

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.4Free plan
  6. 6Apache Geode logo

    Apache Geode

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.2Free plan