Skip to content
SPECIFICTION
Get listed

LLDB vs OpenOCD

LLDB

lldb.llvm.org

OpenOCD

openocd.org

Side by side

FigureLLDBOpenOCD
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
iOSYes—
AndroidYes—
Self-hosted—Yes
Plans published11
Spec score · Debuggers8.6 (#2)7.8 (#12)
PurposeLLDB is a high-performance debugger built from reusable components that use LLVM libraries such as the Clang expression parser and LLVM disassembler.OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices using a debug adapter.

Plans

LLDB

  • LLDBFree

LLDB pricing →

OpenOCD

  • OpenOCDFree

OpenOCD pricing →

In their own words

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.

Visit lldb.llvm.org

OpenOCD

OpenOCD provides debugging, in-system programming, and boundary-scan testing for embedded target devices through a debug adapter. It communicates with targets over JTAG or Serial Wire Debug (SWD), and can run as a server for GDB clients. Users can also interact through Telnet or GDB; its Tcl interface is intended for machine interaction, and configuration files can contain commands using the documented Tcl scripting API. The target list includes ARM, MIPS, RISC-V, Xtensa, ARC, AVR32, and other architectures. Release 0.12.0 notes support for Espressif ESP32, ESP32-S2, ESP32-S3 cores, and Raspberry Pi Pico RP2040, along with Zephyr and a no-RTOS option. OpenOCD supports remote debugging and exception breakpoints. It is free and listed for Linux, macOS, Windows, and self-hosted setups. The project says it is packaged in popular operating-system repositories and provides access to source code; community binaries are marked unofficial. Host configuration may take extra steps: Linux usually needs a udev rule for adapter access, and Windows requires driver configuration for each peripheral.

Visit openocd.org