Side by side
Black Magic Debug vs LLDB
Both stand on debuggers. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Choose Black Magic Debug if you need a free JTAG/SWD debugger with automatic target detection and control over your embedded development setup. It supports multiple host systems and useful debugging functions, but you need compatible probe hardware and a suitable toolchain. Consider the desktop-app programming speed and the status of older probe models when choosing hardware.
Visit Black Magic DebugLLDB combines debugger tools with APIs and editor integrations, and is the default debugger in Xcode on macOS. Check the platform-specific status, particularly for Windows and ARM-family support, before choosing it for those targets.
Visit LLDBThe facts
| Black Magic Debug | LLDB | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | Linux, Mac, Windows | Android, iPhone, Linux, Mac, Windows |
| Lowest paid plan | Free or on request | Free or on request |
| Plans published | 1 | 1 |
| Maker | Not published | Not published |
| Website | black-magic.org | lldb.llvm.org |
| On debuggers | #1 of 27 | #3 of 27 |
Black Magic Debug: what it does well
- Automatic target detection avoids target-specific configuration scripts.
- Provides watchpoints, flash breakpoints, memory and register examination, and flash programming.
- Supports semihosting, Serial Wire Output, and USB DFU firmware upgrades.
- Runs on Windows, Linux, and macOS.
- Open-source project with guides for PlatformIO and STM32CubeIDE.
What to know first
- Requires a compatible Black Magic Probe and a suitable target toolchain.
- Programming is a little slower in desktop-app mode.
- Several older probe models are legacy and not in production.
LLDB: what it does well
- Free and open source under Apache 2.0 with LLVM exceptions.
- Default debugger in Xcode on macOS.
- Supports breakpoints, watchpoints, launching, and attaching.
- Provides C++ API and Python bindings.
- Remote debugging includes Linux, Windows, Android, and iOS.
What to know first
- Windows support remains under active development.
- ARM and AArch64 support is more experimental.
- lldb-dap does not support step-back.
- lldb-dap does not support setting a variable.
Alternatives to Black Magic Debug Alternatives to LLDB The whole list
