LLDB

B
B tier on DebuggersScore 7.5 · #1 of 27
Android app
Yes
Free plan
Yes
Runs on
Android, iOS, Linux, Mac, Windows
lldb.llvm.org
The LLDB homepage

Summary

LLDB is a debugger for C, C++, Objective-C, and Objective-C++ development. It is the default debugger in Xcode on macOS and can debug programs on desktop and iOS devices and simulators. Its tools include breakpoints, watchpoints, launching processes, and attaching to programs; it also supports remote debugging on Linux, Windows, Android, and iOS. LLDB uses Clang infrastructure to evaluate current language features, including 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 makes debugger functions available through compatible editors and IDEs, and documents several breakpoint types, memory access, and disassembly requests. LLDB is free, with project code under the Apache 2.0 License with LLVM exceptions. Windows support is under active development, and ARM and AArch64 support is more experimental. The project warns that it does not source a current-directory .lldbinit file by default for security reasons.

Who it is for

LLDB suits developers working with C-family languages who need desktop, iOS, or remote debugging. Its API and Python bindings may also suit developers building scripting or inspection workflows.

What is good

  • Free, with project code under the Apache 2.0 License with LLVM exceptions.
  • Supports C, C++, Objective-C, and Objective-C++.
  • Includes breakpoints, watchpoints, launching, and attaching.
  • Public C++ API and Python bindings are available.
  • Remote debugging includes Linux, Windows, Android, and iOS.

What to know first

  • Windows support is under active development.
  • ARM and AArch64 support is more experimental.
  • lldb-dap lacks step-back and variable-setting support.
  • Time-travel debugging is not supported.

Everything Xiaomi review

LLDB: the full review

LLDB offers broad C-family debugging, API access, and editor integration at no cost. Check the Windows and architecture caveats, and note that some lldb-dap requests are unsupported.

LLDB is an open-source debugger for developers working in C-family languages and LLVM-based toolchains. It suits programmers who want low-level control, scriptable APIs, or Xcode’s native debugging workflow. Its breadth is compelling, though Windows maturity and several Debug Adapter Protocol gaps deserve attention.

Overview

LLDB is a high-performance debugger assembled from reusable components, including LLVM’s disassembler and Clang’s expression parser. It can launch programs, attach to running processes, and work with breakpoints and watchpoints. Support for core dumps is useful when a live debugging session is not possible, but the absence of time-travel debugging rules it out for teams that depend on replaying earlier execution.

The project code uses the Apache 2.0 License with LLVM exceptions. LLDB is the default debugger in Xcode on macOS, while its documented targets include desktop, mobile, and BSD systems.

Key features

Debugging and expression evaluation

LLDB supports C, C++, and Objective-C debugging on desktop and iOS devices and simulators, with Objective-C++ also supported by its expression evaluator. Clang-based evaluation covers current language features and can handle multiline expressions; just-in-time evaluation is available where supported. That combination is useful for inspecting or manipulating program state in context, though JIT availability depends on the environment.

Conditional and exception breakpoints, watchpoints, process launch, and attachment cover the core control loop. LLDB also documents memory read and write, plus disassembly requests through lldb-dap. Its API supports symbolication and inspection of object and symbol files, extending its use beyond interactive sessions.

APIs and editor integration

A public object-oriented C++ API is exposed through a shared library, with Python bindings for scripting. Developers building tools or automating debugging workflows can use those interfaces without being limited to a single editor. The documentation also describes an integration using the Model Context Protocol.

For compatible editors and IDEs, lldb-dap presents LLDB through the Debug Adapter Protocol, including integrations for Visual Studio Code, Emacs, vim, and neovim. It supports function, conditional, data, and instruction breakpoints. However, it does not support step-back, setting a variable, goto-target, or terminate requests, so editor workflows needing those operations may be incomplete.

Remote debugging and configuration

LLDB documents remote debugging for Linux, Windows, Android, and iOS. For security reasons, it does not source a current-directory .lldbinit file by default; users relying on project-local initialization need to account for that behavior.

Pricing

LLDB costs 0.00 USD per free under its open-source plan, with no free trial. The free plan is the full project offering rather than a time-limited evaluation, making it suitable for individual developers and teams that can use its license and integrations. There are no paid tiers, seat counts, or quotas to weigh.

Platforms

The documented target platforms are macOS, iOS, tvOS, watchOS, Linux, FreeBSD, NetBSD, Windows, and Android. LLDB is the default debugger in Xcode on macOS, and it can debug C-family programs on iOS devices and simulators. Remote debugging extends to Linux, Windows, Android, and iOS.

Windows support remains under active development: basic functionality is expected to work, but ARM and AArch64 support is more experimental. Windows users targeting those architectures should treat LLDB as a less settled choice than users on its established platforms.

Who it's for

LLDB is a strong fit for C, C++, and Objective-C developers who want a free debugger with deep LLVM and Clang integration, especially those using Xcode or scripting through its APIs. It also suits developers building debugger-adjacent tools for symbolication, disassembly, or binary inspection.

It is less suitable when time-travel debugging is essential, when a workflow depends on unsupported lldb-dap requests, or when Windows ARM and AArch64 support must be mature. Its C-family focus also makes it a poor default for developers whose primary debugging needs fall outside those languages.

Pros and cons

  • Pros: Free and open source under the Apache 2.0 License with LLVM exceptions, with no trial clock or paid tier.
  • Pros: Clang-based expression evaluation and broad C-family debugging suit low-level development, including Apple-platform work.
  • Pros: C++ and Python interfaces support custom tooling, scripting, and uses such as symbolication.
  • Cons: No time-travel debugging, so it cannot replay prior program execution.
  • Cons: lldb-dap omits step-back, variable-setting, goto-target, and terminate requests, which can restrict editor workflows.
  • Cons: Windows is still under active development, with ARM and AArch64 specifically more experimental.

Alternatives

Browse the Debuggers category to compare options across the category.

  • Delve is another free debugger for readers whose platform needs match its Linux, macOS, Windows, API, or self-hosted availability.
  • IDA Pro is worth considering when disassembly and decompilation are the priority: IDA Free costs 0.00 USD per free and includes x86-32 and x86-64 disassembly plus two cloud-based decompilers; IDA Pro Essential is 1099.00 USD.
  • Xdebug is a freemium alternative for readers seeking a debugger with Linux, macOS, Windows, web, or self-hosted platform availability. Its Pro plan is 200.00 GBP per year and is for one developer.
  • GDB is a free alternative for readers who want a debugger under the GNU General Public License with source code available.
  • FlowStorm is a free and open-source option for readers whose platform needs fit Linux, Windows, or self-hosted use.
  • RenderDoc is a free, MIT-licensed alternative for readers working on Android, Linux, or Windows.
  • dnSpyEx is another free option for readers considering Linux or Windows.
  • OpenOCD is another free option for readers considering Windows, macOS, or Linux.

Verdict

Choose LLDB if you need a capable, free C-family debugger with Clang expression evaluation, scriptable APIs, and a natural place in Xcode workflows. Look elsewhere if replay debugging is central, your editor depends on missing lldb-dap requests, or you need mature Windows ARM or AArch64 support.

LLDB plans and pricing

All plans
LLDB Free Open source debugger lldb.llvm.org · 30 Sept 2026

Compared on debuggers

Free plan
Yeslldb.llvm.org
Supported languages
C, C++, Objective-C, Objective-C++lldb.llvm.org
Target platforms
macOS, iOS, tvOS, watchOS, Linux, FreeBSD, NetBSD, Windows, Androidlldb.llvm.org
Remote debugging
Yeslldb.llvm.org
Conditional breakpoints
Yeslldb.llvm.org
Exception breakpoints
Yeslldb.llvm.org
Time-travel debugging
Nolldb.llvm.org
Core dump debugging
Yeslldb.llvm.org

Facts

Purpose
LLDB is a next generation, high-performance debugger built from reusable components that use LLVM libraries such as the Clang expression parser and LLVM disassembler.lldb.llvm.org · 29 Sept 2026
License
The LLDB project code is available under the Apache 2.0 License with LLVM exceptions.lldb.llvm.org · 29 Sept 2026
Xcode
LLDB is the default debugger in Xcode on macOS.lldb.llvm.org · 29 Sept 2026
Language support
LLDB supports debugging C, Objective-C, and C++ on desktop and iOS devices and simulators.lldb.llvm.org · 29 Sept 2026
Expression evaluation
LLDB uses Clang infrastructure to evaluate current C, C++, Objective-C, and Objective-C++ language features, including multiline expressions and JIT evaluation where supported.lldb.llvm.org · 29 Sept 2026
Reusable API
LLDB exposes a public object-oriented C++ API through a shared library, with Python bindings also available.lldb.llvm.org · 29 Sept 2026
Additional uses
The LLDB API can also be used for symbolication, disassembly, and object and symbol file introspection.lldb.llvm.org · 29 Sept 2026
Platforms
The documentation lists macOS, iOS/tvOS/watchOS simulators and devices, Linux, FreeBSD, NetBSD, and Windows among platforms known to work.lldb.llvm.org · 29 Sept 2026
Windows status
Windows support is under active development; basic functionality is expected to work, while ARM and AArch64 support is described as more experimental.lldb.llvm.org · 29 Sept 2026
IDE integration
lldb-dap exposes LLDB functionality through the Debug Adapter Protocol for compatible editors and IDEs, including Visual Studio Code, Emacs, vim, and neovim.lldb.llvm.org · 29 Sept 2026
Acquiring lldb-dap
The lldb-dap binary can come from a toolchain, an LLVM release package or system package manager, or a source build.lldb.llvm.org · 29 Sept 2026
Debug features
lldb-dap documents support for function, conditional, data, and instruction breakpoints, memory read/write, and disassembly requests.lldb.llvm.org · 29 Sept 2026
Notable limits
lldb-dap documents no support for step-back, setting a variable, goto-target requests, or terminate requests.lldb.llvm.org · 29 Sept 2026
Support and community
The LLDB documentation directs discussions to its forum or LLVM Discord and links to bug reports and code reviews.lldb.llvm.org · 29 Sept 2026
Languages
LLDB supports debugging C, Objective-C, and C++ on desktop and iOS devices and simulators.lldb.llvm.org · 30 Sept 2026
Debugging tools
LLDB supports breakpoints, watchpoints, process launching, and attaching to programs.lldb.llvm.org · 30 Sept 2026
API and scripting
LLDB exposes a public C++ API through a shared library and Python script bindings, enabling scripting and uses such as symbolication and disassembly.lldb.llvm.org · 30 Sept 2026
Other integration
LLDB documentation describes an integration using the Model Context Protocol.lldb.llvm.org · 30 Sept 2026
Security
For security reasons, LLDB warns and does not source a current-directory .lldbinit file by default.lldb.llvm.org · 30 Sept 2026
Platform support
The project lists macOS, Linux, FreeBSD, NetBSD, and Windows support; it says Windows support is under active development and ARM and AArch64 support is more experimental.lldb.llvm.org · 30 Sept 2026
Getting the debugger
The lldb-dap binary can be obtained from an LLVM release package, a toolchain or package manager, or by building from source.lldb.llvm.org · 30 Sept 2026

Best LLDB alternatives

See all 12

Where it ranks on Everything Xiaomi

Is LLDB yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources