forked from OSchip/llvm-project
Update the status page to include Linux status information,
patch from Dan Malea, daniel.malea@intel.com. llvm-svn: 167605
This commit is contained in:
parent
1fefe417f0
commit
1f3ea66e23
|
@ -1,61 +1,160 @@
|
|||
<!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">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>
|
||||
|
||||
<p>What works well:</p>
|
||||
<ul>
|
||||
<li>Process control, including external process control via debugserver
|
||||
(which is included as part of the lldb project)</li>
|
||||
<li>Breakpoints: Source-line, symbolic, C++ mangled names, module
|
||||
scoping</li>
|
||||
<li>Symbol reading and object file introspection</li>
|
||||
<li>Script bridging</li>
|
||||
<li>Thread inspection and stepping</li>
|
||||
<li>Disassembly of i386, x86-64, & ARM/Thumb machine code</li>
|
||||
<li>Backtracing of i386, x86-64, & ARM/Thumb machine code</li>
|
||||
<li>libedit powers the command line prompt and input
|
||||
<li>Objective-C 2.0 Support: Printing properties, synthetic properties,
|
||||
Objective-C expressions, KVO, dynamic types, dot syntax, runtime data</li>
|
||||
<li>C++ support: method access, template support, dynamic types</li>
|
||||
<li>The public API to the library</li>
|
||||
<li>Expression evaluation</li>
|
||||
<li>Objective-C support: stepping into/over, printing the description of
|
||||
an object ("po")</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="postfooter"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!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 there are some stability issues, most
|
||||
of the basic functionality, including the Python API and the commandline tool,
|
||||
are working on i386/x86_64 architectures. 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>(i386 and x86_64)</th>
|
||||
<th>Mac OS X (i386/x86_64 and ARM/Thumb)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Backtracing</td>
|
||||
<td>OK</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 except on C++ exception (catch/throw)</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>Untested</td>
|
||||
<td>OK</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Process control
|
||||
<ul>
|
||||
<li>launch
|
||||
<li>attach
|
||||
<li>continue
|
||||
</ul>
|
||||
</td>
|
||||
<td>OK except attach-by-name </td>
|
||||
<td>OK</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Public Python API</td>
|
||||
<td>OK</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>Broken</td>
|
||||
<td>OK</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="postfooter"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue