<!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> |