Erlang Debugger vs LLDB
Erlang Debugger
erlang.orgLLDB
lldb.llvm.orgSide by side
| Figure | Erlang Debugger | LLDB |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Debuggers | 7.6 (#14) | 8.6 (#2) |
| License | Erlang/OTP has been released under Apache License 2.0 since OTP 18.0. | The LLDB project code is available under the Apache 2.0 License with LLVM exceptions. |
| Purpose | Erlang Debugger is a graphical interface for the Erlang interpreter used to debug and test Erlang programs. | LLDB is a high-performance debugger built from reusable components that use LLVM libraries such as the Clang expression parser and LLVM disassembler. |
Plans
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.
LLDB
LLDB is a free debugger built from reusable components that use LLVM libraries, including Clang's expression parser and the LLVM disassembler. It is the default debugger in Xcode on macOS and supports debugging C, C++, and Objective-C on desktop and iOS devices and simulators. Its tools include breakpoints, watchpoints, process launching, and attaching to programs; remote debugging is also documented for Linux, Windows, Android, and iOS. Expression evaluation uses Clang infrastructure for current C-family language features, multiline expressions, and just-in-time evaluation where supported. Developers can use its shared-library C++ API and Python bindings for scripting, symbolication, disassembly, and inspecting object and symbol files. The lldb-dap adapter connects LLDB functionality to compatible editors and IDEs, including Visual Studio Code, Emacs, vim, and neovim. LLDB is available under the Apache 2.0 License with LLVM exceptions. Windows support remains under active development, with ARM and AArch64 described as more experimental. The lldb-dap interface documents no support for step-back, setting a variable, goto-target, or terminate requests.