The LLDB Debugger

What is LLDB?

LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler.

LLDB is in early development, but is mature enough to support basic debugging scenarios on Mac OS X in C, Objective-C and C++.

All of the code in the LLDB project is available under the standard LLVM License, an open source "BSD-style" license.

Why a new debugger?

In order to achieve our goals we decided to start with a fresh architecture that would support modern multi-threaded programs, handle debugging symbols in an efficient manner, use compiler based code knowledge and have plug-in support for functionality and extensions. Additionally we want the debugger capabilities to be available to other analysis tools, be they scripts or compiled programs, without requiring them to be GPL.

Platform Support

LLDB is known to work on the following platforms, but ports to new platforms are welcome:

  • Mac OS X i386 and x86-64

Get it and get involved!

To check out the code, use:

  • svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb

Note that LLDB currently only builds out of the box on Mac OS X with Xcode, but patches to improve portability are definitely welcome.

Discussions about LLDB should go to the lldb-dev mailing list. Commit messages for the lldb SVN module are automatically sent to the lldb-commits mailing list, and this is also the preferred mailing list for patch submissions.