1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
5<link href="style.css" rel="stylesheet" type="text/css" />
6<title>LLDB Features</title>
7</head>
8
9<body>
10    <div class="www_title">
11      The <strong>LLDB</strong> Debugger
12    </div>
13    
14<div id="container">
15	<div id="content">
16       <!--#include virtual="sidebar.incl"-->
17
18		<div id="middle">
19			<div class="post">
20				<h1 class ="postheader">Features</h1>
21				<div class="postcontent">
22				   <p>LLDB supports a broad variety of basic debugging features such as
23				      reading DWARF, supporting step, next, finish, backtraces, etc.  Some
24				      more interested bits are:</p>
25
26				   <ul>
27				       <li>Plug-in architecture for portability and extensibility:</li>
28					   <ul>
29    					   <li>Object file parsers for executable file formats. Support currently
30    					       includes Mach-O (32 and 64-bit) &amp; ELF (32-bit).</li>
31    					   <li>Object container parsers to extract object files contained within a file.
32    					       Support currently includes universal Mach-O files &amp; BSD Archives.
33    					       </li>
34    					   <li>Debug symbol file parsers to incrementally extract debug information from
35    					       object files. Support currently includes DWARF &amp; Mach-O symbol
36    					       tables.</li>
37    					   <li>Symbol vendor plug-ins collect data from a variety of different sources
38    					       for an executable object.</li>
39    					   <li>Disassembly plug-ins for each architecture. Support currently includes
40    					       an LLVM disassembler for <a href="http://blog.llvm.org/2010/01/x86-disassembler.html">i386, x86-64</a>
41    					       , &amp; ARM/Thumb.</li>
42    					    <li>Debugger plug-ins implement the host and target specific functions
43    					        required to debug.</li>
44					    </ul>
45				    <li>SWIG-generated script bridging allows Python to access and control the
46				        public API of the debugger library.</li>
47				    <li>A remote protocol server, debugserver, implements Mac OS X debugging on
48				        i386 and x86-64.</li>
49				    <li>A command line debugger - the lldb executable itself.</li>
50				    <li>A framework API to the library.</li>
51				   </ul>
52				</div>
53				<div class="postfooter"></div>
54		    </div>
55
56		</div>
57	</div>
58</div>
59</body>
60</html>