The LLDB debugger APIs are exposed as a C++ object oriented interface in a shared library.

The lldb command line tool links to, and uses this public API. On Mac OS X the shared library is exposed as a framework named LLDB.framework, and unix systems expose it as

The entire API is also then exposed through Python script bindings which allow the API to be used within the LLDB embedded script interpreter, and also in any python script that loads the module in standard python script files.

Sharing the LLDB API allows LLDB to not only be used for debugging, but also for symbolication, disassembly, object and symbol file introspection, and much more.