A Stop-the-World Debugger for Erlang (and the BEAM)
Daniel Gorín, Björn Gustavsson, Roberto Aloi · 2025
Erlang and the BEAM are remarkable for their tracing capabilities and the type of troubleshooting this enables on live production systems. At other stages of the development cycle, though, a traditional debugger is arguably more natural and convenient to use. While Erlang/OTP has included a step-debugger (int) since its very first public release, it has generally been regarded as ineffective beyond very simple scenarios. To bridge this gap, we have extended OTP with a new debugging API (available since release 28), and used it to build edb, a novel debugger for Erlang that aims to overcome some of int’s known limitations. In this note we motivate this work, discuss technical challenges and provide a general implementation overview.