-

LLDB is in early development and supports basic debugging scenarios on - Mac OS X. The public API has not been finalized, and different parts are - at different levels of maturity. We welcome any help fleshing out missing - pieces and improving the code.

+

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.

What works well:

    @@ -34,32 +40,16 @@
  • Symbol reading and object file introspection
  • Script bridging
  • Thread inspection and stepping
  • -
  • Disassembly of i386, x86-64, & ARM/Thumb machine code, and - backtracing on i386 & x86-64
  • -
  • The basic command line prompt system, shared library tracking, - source listings.
  • -
- -

What is still pretty new:

-
    +
  • Disassembly of i386, x86-64, & ARM/Thumb machine code
  • +
  • Backtracing of i386, x86-64, & ARM/Thumb machine code
  • +
  • libedit powers the command line prompt and input +
  • Objective-C 2.0 Support: Printing properties, synthetic properties, + Objective-C expressions, KVO, dynamic types, dot syntax, runtime data
  • +
  • C++ support: method access, template support, dynamic types
  • The public API to the library
  • Expression evaluation
  • Objective-C support: stepping into/over, printing the description of an object ("po")
  • -
  • Breakpoint actions & scripts
  • -
  • Attaching to existing processes
  • -
- -

What isn't there yet:

-
    -
  • Regression test suite
  • -
  • Operating system support hasn't been fully modularized yet
  • -
  • Blocks support
  • -
  • Calling functions in expressions
  • -
  • Objective-C 2.0 Support: Printing properties, synthetic properties, - Objective-C expressions, KVO, dynamic types, dot syntax, runtime data
  • -
  • C++ support: Method access, handling demangled names, dynamic types
  • -
  • Exception support: Breaking by name, thrown object, thrower