aboutsummaryrefslogtreecommitdiff
path: root/www/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'www/index.html')
-rwxr-xr-xwww/index.html136
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>