<!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 Status</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">Mac OS X Status</h1>
				<div class="postcontent">

				   <p>LLDB has matured a lot in the last year and can be used for
				      C, C++ and Objective C development for x86_64, i386 and ARM debugging.
				      The entire public API is exposed though a framework on Mac OS X which
				      is used by Xcode, the lldb command line tool, and can also be used by
				      Python. The entire public API is exposed through script bridging which
				      allows LLDB to use an embedded Python script interpreter, as well as 
				      having a Python module named "lldb" which can be used from Python
				      on the command line. This allows debug sessions to be scripted. It also
				      allows powerful debugging actions to be created and attached to a variety
				      of debugging workflows.</p>
				</div>
				<h1 class ="postheader">Linux Status</h1>
				<div class="postcontent">
					<p> LLDB is improving on Linux. While the debugserver is not ported
					(to enable remote debugging) and debugging of multi-threaded programs is in its infancy, most
					of the functionality, including the Python API and the command line tool,
					is working on the x86_64 architecture, and partially working with i386.
					FreeBSD is untested. ARM architectures on Linux are untested.
					For more details, see the Features by OS section below.
				</div>
				<h1 class ="postheader">Features by OS</h1>
				<div class="postcontent">
					<p> The table below shows a summary of the features that are available
					on several platforms. In addition to Linux and Mac OS X, LLDB is also
					known to work on FreeBSD. Windows support is under development.
							<table border="1">
								<tr>
									<th>Feature</th>
									<th>Linux<br>(x86_64)</th>
									<th>Mac OS X (i386/x86_64 and ARM/Thumb)</th>
								</tr>
								<tr>
									<td>Backtracing</td>
									<td>OK (except with targets built with -fomit-frame-pointer)</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Breakpoints
										<ul>
											<li>source-line
											<li>symbolic
											<li>C++ mangled names
											<li>module scoping
										</ul>
									</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>C++11:
									<ul>
										<li>function access
										<li>template support
										<li>dynamic types
									</ul></td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Commandline lldb tool</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Debugserver (remote debugging)</td>
									<td>Not ported</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Disassembly</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Expression evaluation</td>
									<td>Works with some bugs</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Objective-C 2.0:
										<ul>
											<li>printing properties
											<li>synthetic properties
											<li>expressions
											<li>KVO
											<li>dynamic types
											<li>dot syntax
											<li>runtime data
											<li>stepping into/over
											<li>printing the description of an object ("po")
									</ul></td>
									<td>Not applicable</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Process control
										<ul>
											<li>launch
											<li>attach
											<li>continue
											<li>fork
										</ul>
									</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Public Python API</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Registers (x86_64 and i386)
										<ul>
											<li>general purpose
											<li>floating point
											<li>exception state
											<li>SSE
											<li>AVX
										</ul>
									</td>
									<td>OK (except for exception state registers)</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Script bridging</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Symbol reading and object file introspection</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Thread inspection and stepping</td>
									<td>OK for single thread (no multi-threaded support)</td>
									<td>OK</td>
								</tr>
								<tr>
									<td>Watchpoints</td>
									<td>OK</td>
									<td>OK</td>
								</tr>
							</table>
				</div>
				<div class="postfooter"></div>
			</div>
		</div>
	</div>
</div>
</body>
</html>
