<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>LLDB Homepage</title>
</head>

<body>
    <div class="www_title">
      The <strong>LLDB</strong> Debugger
    </div>
    
<div id="container">
	<div id="content">
        
        <!--#include virtual="sidebar.incl"-->

		<div id="middle">
			<div class="post">
				<h1 class ="postheader">What is LLDB?</h1>
				<div class="postcontent">
                    <p>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.</p>
                    <p>LLDB is the default debugger in Xcode on Mac OS X and supports
                        debugging C, Objective-C and C++ on the desktop and iOS devices and simulator.</p>

                    <p>All of the code in the LLDB project is available under the standard
                        <a href="http://llvm.org/docs/DeveloperPolicy.html#license">LLVM
                        License</a>, an open source "BSD-style" license.</p>
                </div>
    			<div class="postfooter"></div>
			</div>

			<div class="post">
				<h1 class ="postheader">Why a new debugger?</h1>
				<div class="postcontent">
					  <p>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.</p>
				</div>
				<div class="postfooter"></div>
			</div>

			<div class="post">
				<h1 class ="postheader">Compiler Integration Benefits</h1>
				<div class="postcontent">
						<p>LLDB currently converts debug information into clang types so that
						it can leverage the clang compiler infrastructure.
						This allows LLDB to support the latest C, C++, Objective-C and Objective-C++
						language features and runtimes in expressions without having to reimplement <b>any</b> 
						of this functionality. It also leverages the compiler to take care of all ABI
						details when making functions calls for expressions, when disassembling
						instructions and extracting instruction details, and much more. 
				   	<p>The major benefits include:</p>
				   	<ul>
					   	<li>Up to date language support for C, C++, Objective-C</li>
					   	<li>Multi-line expressions that can declare local variables and types</li>
					   	<li>Utilize the JIT for expressions when supported</li>
					   	<li>Evaluate expression Intermediate Representation (IR) when JIT can't be used</li>
				    </ul>
				</div>
			</div>

			<div class="post">
				<h1 class ="postheader">Reusability</h1>
				<div class="postcontent">
				   	<p>The LLDB debugger APIs are exposed as a C++ object oriented interface in a shared library. 
					The <b>lldb</b> command line tool links to, and uses this public API. On Mac OS X the shared library
					is exposed as a framework named <b>LLDB.framework</b>, and unix systems expose it as <b>lldb.so</b>.
					The entire API is also then exposed through Python script bindings which allow the API to be used
					within the LLDB embedded script interpreter, and also in any python script that loads the <b>lldb.py</b>
					module in standard python script files. See the <a href="python-reference.html">Python Reference</a> page for more details on how 
					and where Python can be used with the LLDB API.</p>
					<p>Sharing the LLDB API allows LLDB to not only be used for debugging, but also for symbolication,
						disassembly, object and symbol file introspection, and much more.
				</div>
			</div>

			<div class="post">
				<h1 class ="postheader">Platform Support</h1>
				<div class="postcontent">

				   	<p>LLDB is known to work on the following platforms, but ports to new
				       platforms are welcome:</p>
				   	<ul>
					   	<li>Mac OS X desktop user space debugging for i386 and x86-64</li>
					   	<li>iOS simulator debugging on i386</li>
					   	<li>iOS device debugging on ARM</li>
					   	<li>Linux local user-space debugging for i386, x86-64 and PPC64le</li>
					   	<li>FreeBSD local user-space debugging for i386 and x86-64</li>
					   	<li>Windows local user-space debugging for i386 (*)</li>
				    </ul>
				    <p>(*) Support for Windows is under active development.  Basic functionality
				       is expected to work, with functionality improving rapidly.</p>
				</div>
				<div class="postfooter"></div>
			</div>


			<div class="post">
				<h1 class ="postheader">Get it and get involved!</h1>
				<div class="postcontent">

				    <p>To check out the code, use:</p>

				    <ul>
				        <li>svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb</li>
				    </ul>

				    <p>Note that LLDB generally builds from top-of-trunk</p>
						<ul>
								<li>On Mac OS X with Xcode</li>
								<li>On Linux and FreeBSD (with clang and libstdc++/libc++)</li>
								<li>On NetBSD (with GCC and clang and libstdc++/libc++)</li>
								<li>On Windows with VS 2012 or higher using CMake</li>
						</ul>
						<p>See the <a href="build.html">LLDB Build Page</a> for platform-specific build instructions.</p>
				    <p>Discussions about LLDB should go to the <a href="http://lists.llvm.org/mailman/listinfo/lldb-dev">lldb-dev</a> mailing
				        list.  Commit messages for the lldb SVN module are automatically sent to the
				        <a  href="http://lists.llvm.org/mailman/listinfo/lldb-commits">lldb-commits</a>
				        mailing list, and this is also the preferred mailing list for patch
				        submissions.</p>
                                    <p>See the <a href="projects.html">Projects</a> page if you are looking for some interesting areas to contribute 
                                      to lldb.</p>
			    </div>
				<div class="postfooter"></div>
			</div>
		</div>
	</div>
</div>
</body>
</html>
