The LLDB Debugger

# Checking out LLDB sources

Refer to the LLVM Getting Started Guide for general instructions on how to check out source. Note that LLDB depends on having a working checkout of LLVM and Clang, so the first step is to download LLVM and Clang sources as described at the above URL. Then you can additionally download the LLDB sources from the following repository URLs.

SVN Repository: http://llvm.org/svn/llvm-project/lldb/trunk

Git Clone: http://llvm.org/git/lldb.git

For non-Mac platforms, and for MacOSX building with CMake (not Xcode), you should check out your sources to adhere to the following directory structure:

                      llvm
                      |
                      `-- tools
                          |
                          +-- clang
                          |
                          `-- lldb

For MacOSX building from Xcode, simply checkout LLDB and then build from Xcode. The Xcode project will automatically detect that it is a fresh checkout, and checkout LLVM and clang automatically. Unlike other platforms / build systems, it will use the following directory structure.

                      lldb
                      |
                      `-- llvm
                          |
                          +-- tools
                              |
                              `-- clang

So updating your checkout will consist of updating lldb, llvm, and clang in these locations.

Refer to the Build Instructions for more detailed instructions on how to build for a particular platform / build system combination.

# Contributing to LLDB

Please refer to the LLVM Developer Policy for information about authoring and uploading a patch. LLDB differs from the LLVM Developer Policy in the following respects.

- Coding conventions. Refer to LLDB Coding Conventions.
- Test infrastructure. It is still important to submit tests with your patches, but LLDB uses a different system for tests. Refer to the lldb/test folder on disk for examples of how to write tests.

For anything not explicitly listed here, assume that LLDB follows the LLVM policy.