EVERYTHING XIAOMI
Get listed

LLDB

LLDB is a debugger for C, C++, Objective-C, and Objective-C++ development.

Place
#1 of 27
Score
7.3
LLDB's website

What LLDB is

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.

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.

Watch out

  • 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.

Who it suits

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.

Verdict

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.

Plans and prices

From LLDB's own pricing page, checked 30 Sep 2026.

All about pricing
PlanPriceWhat it gives you
LLDBFreeOpen source debugger

The facts

Each one read from LLDB's own pages, with the date it was checked.

What it does

Acquiring lldb-dap
The lldb-dap binary can come from a toolchain, an LLVM release package or system package manager, or a source build.checked 29 Sep 2026
Additional uses
The LLDB API can also be used for symbolication, disassembly, and object and symbol file introspection.checked 29 Sep 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.checked 30 Sep 2026
Debug features
lldb-dap documents support for function, conditional, data, and instruction breakpoints, memory read/write, and disassembly requests.checked 29 Sep 2026
Debugging tools
LLDB supports breakpoints, watchpoints, process launching, and attaching to programs.checked 30 Sep 2026
Expression evaluation
LLDB supports multiline expressions, can use a JIT when available, and can evaluate expression IR when the JIT cannot be used.checked 30 Sep 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.checked 30 Sep 2026
IDE integration
The lldb-dap component exposes LLDB through the Debug Adapter Protocol for editors and IDEs that support DAP, including Visual Studio Code, Emacs, Vim, and Neovim.checked 30 Sep 2026
Languages
LLDB supports debugging C, Objective-C, and C++ on desktop and iOS devices and simulators.checked 30 Sep 2026
Language support
LLDB supports debugging C, Objective-C, and C++ on desktop and iOS devices and simulators.checked 29 Sep 2026
License
The LLDB project code is available under the Apache 2.0 License with LLVM exceptions.checked 30 Sep 2026
Notable limits
lldb-dap documents no support for step-back, setting a variable, goto-target requests, or terminate requests.checked 29 Sep 2026
Other integration
LLDB documentation describes an integration using the Model Context Protocol.checked 30 Sep 2026
Purpose
LLDB is a high-performance debugger built from reusable components that use LLVM libraries such as the Clang expression parser and LLVM disassembler.checked 30 Sep 2026
Remote debugging
LLDB documents remote debugging for platforms including Linux, Windows, Android, and iOS.checked 30 Sep 2026
Reusable API
LLDB exposes a public object-oriented C++ API through a shared library, with Python bindings also available.checked 29 Sep 2026
Security
For security reasons, LLDB warns and does not source a current-directory .lldbinit file by default.checked 30 Sep 2026
Support and community
The project directs LLDB discussions to its forum and the lldb channel on the LLVM Discord server.checked 30 Sep 2026
Xcode
LLDB is the default debugger in Xcode on macOS.checked 29 Sep 2026

Where it runs

Platforms
The documentation lists macOS, iOS/tvOS/watchOS simulators and devices, Linux, FreeBSD, NetBSD, and Windows among platforms known to work.checked 29 Sep 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.checked 30 Sep 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.checked 29 Sep 2026
The full review of LLDB

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 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 nothing 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 a 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.

Getting started

  1. Get LLDB through an LLVM release package, a toolchain or a system package manager, or build it from source.
  2. Use LLDB as the default debugger in Xcode on macOS, or connect it through a compatible editor or IDE.
  3. For editor integration, obtain the lldb-dap binary from a toolchain, LLVM release package, package manager or source build.
  4. Use the LLDB documentation forum or LLVM Discord for discussion, and its bug report and code review links for project issues.

Limits worth knowing

lldb-dap documents no support for step-back, setting a variable, goto-target requests or terminate requests. Windows support is under active development, with ARM and AArch64 support more experimental.

Questions

Does LLDB cost anything?

No. LLDB is free, and the project code is available under the Apache 2.0 License with LLVM exceptions.

Which languages can LLDB debug?

It supports C, C++ and Objective-C debugging on desktop and iOS devices and simulators. Its expression evaluation also handles Objective-C++ features.

Which platforms does LLDB support?

The project lists macOS, Linux, FreeBSD, NetBSD and Windows support, and documents remote debugging for platforms including Linux, Windows, Android and iOS. Windows support is under active development.

Does LLDB work with Xcode?

Yes. LLDB is the default debugger in Xcode on macOS.

Can I use LLDB from other editors?

Yes. The lldb-dap adapter exposes LLDB through the Debug Adapter Protocol for compatible editors and IDEs, including Visual Studio Code, Emacs, vim and neovim.

Is LLDB open source?

Yes. The LLDB project code is available under the Apache 2.0 License with LLVM exceptions.

Alternatives to LLDB

All alternatives
  1. 1IDA Pro logo

    IDA Pro

    Free planLinuxmacOSWindows
    7.0From $1,099 a year
  2. 2

    PonyDebugger

    Free planiOSWebmacOSSelf-hosted
    6.8Free plan
  3. 3

    pyOCD

    Free planAPILinuxmacOSSelf-hosted
    6.8Free plan
  4. 4

    Perl Debugger

    Free planLinuxmacOSWindows
    6.5Free plan
  5. 5Black Magic Debug logo

    Black Magic Debug

    Free planLinuxmacOSWindows
    6.4Free plan
  6. 6

    FLEX

    Free planiOS
    6.4Free plan