diff options
Diffstat (limited to 'www/index.html')
-rwxr-xr-x | www/index.html | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/www/index.html b/www/index.html new file mode 100755 index 000000000000..5d5cd3584adf --- /dev/null +++ b/www/index.html @@ -0,0 +1,136 @@ +<!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 and x86-64</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> + </div> + <div class="postfooter"></div> + </div> + </div> + </div> +</div> +</body> +</html> |