</div>
<div id="container">
- <div id="content">
+ <div id="content">
<!--#include virtual="sidebar.incl"-->
- <div id="middle">
- <div class="post">
- <h1 class ="postheader">Mac OS X Status</h1>
- <div class="postcontent">
+ <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 has not been ported
- (to enable remote debugging) Linux is nearing feature completeness with Darwin
- to debug x86_64 programs, and is partially working with i386 programs.
- ARM architectures on Linux are untested.
- For more details, see the Features by OS section below.
- </div>
- <h1 class ="postheader">FreeBSD Status</h1>
- <div class="postcontent">
- <p> LLDB on FreeBSD lags behind the Linux implementation but is improving rapidly.
- 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 and NetBSD support is under development.
- <table border="1">
- <tr>
- <th>Feature</th>
- <th>FreeBSD<br>(x86_64)</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</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</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>
- <td>OK</td>
- </tr>
- <tr>
- <td>Commandline lldb tool</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Core file debugging</td>
- <td>OK (ELF)</td>
- <td>OK (ELF)</td>
- <td>OK (MachO)</td>
- </tr>
- <tr>
- <td>Debugserver (remote debugging)</td>
- <td>Not ported</td>
- <td>Not ported</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Disassembly</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Expression evaluation</td>
- <td>Unknown</td>
- <td>Works with some bugs</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>JIT debugging</td>
- <td>Unknown</td>
- <td>Symbolic debugging only</td>
- <td>Untested</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>Unknown</td>
- <td>Not applicable</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Process control
- <ul>
- <li>attach
- <li>continue
- <li>exec, execve...
- <li>fork
- <li>launch
- <li>status
- </ul>
- </td>
- <td>Works, with some bugs</td>
- <td>OK (except exec*)</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Public Python API</td>
- <td>OK</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>GP and FP OK</td>
- <td>OK (except for exception state registers)</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Script bridging</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Symbol reading and object file introspection</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Thread inspection and stepping</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- <tr>
- <td>Watchpoints</td>
- <td>OK</td>
- <td>OK</td>
- <td>OK</td>
- </tr>
- </table>
- </div>
- <div class="postfooter"></div>
- </div>
- </div>
- </div>
+ <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 has not been ported
+ (to enable remote debugging) Linux is nearing feature completeness with Darwin
+ to debug x86_64 programs, and is partially working with i386 programs.
+ ARM architectures on Linux are untested.
+ For more details, see the Features by OS section below.
+ </div>
+ <h1 class ="postheader">FreeBSD Status</h1>
+ <div class="postcontent">
+ <p> LLDB on FreeBSD lags behind the Linux implementation but is improving rapidly.
+ 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 and NetBSD support is under development.
+ <table border="1">
+ <tr>
+ <th>Feature</th>
+ <th>FreeBSD<br>(x86_64)</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</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</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>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Commandline lldb tool</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Core file debugging</td>
+ <td>OK (ELF)</td>
+ <td>OK (ELF)</td>
+ <td>OK (MachO)</td>
+ </tr>
+ <tr>
+ <td>Debugserver (remote debugging)</td>
+ <td>Not ported</td>
+ <td>Not ported</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Disassembly</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Expression evaluation</td>
+ <td>Unknown</td>
+ <td>Works with some bugs</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>JIT debugging</td>
+ <td>Unknown</td>
+ <td>Symbolic debugging only</td>
+ <td>Untested</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>Unknown</td>
+ <td>Not applicable</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Process control
+ <ul>
+ <li>attach
+ <li>continue
+ <li>exec, execve...
+ <li>fork
+ <li>launch
+ <li>status
+ </ul>
+ </td>
+ <td>Works, with some bugs</td>
+ <td>OK (except exec*)</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Public Python API</td>
+ <td>OK</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>GP and FP OK</td>
+ <td>OK (except for exception state registers)</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Script bridging</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Symbol reading and object file introspection</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Thread inspection and stepping</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ <tr>
+ <td>Watchpoints</td>
+ <td>OK</td>
+ <td>OK</td>
+ <td>OK</td>
+ </tr>
+ </table>
+ </div>
+ <div class="postfooter"></div>
+ </div>
+ </div>
+ </div>
</div>
</body>
</html>