Black Magic Debug vs LLDB
Black Magic Debug
black-magic.orgLLDB
lldb.llvm.orgSide by side
| Figure | Black Magic Debug | LLDB |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Debuggers | 8.7 (#1) | 8.6 (#2) |
| Debug features | It supports watchpoints, flash memory breakpoints, memory and register examination, and flash programming. | lldb-dap documents support for function, conditional, data, and instruction breakpoints, memory read/write, and disassembly requests. |
| Purpose | Black Magic Debug is a mostly plug-and-play JTAG/SWD debugger for embedded microcontrollers. | 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
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.
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.