LLDB currently converts debug information into clang types so that
it can leverage the clang compiler infrastructure.
This allows LLDB to support the latest C, C++, Objective C and Objective C++
language features and runtimes in expressions without having to reimplement any
of this functionality. It also leverages the compiler to take care of all ABI
details when making functions calls for expressions, when disassembling
instructions and extracting instruciton details, and much more.
The major benefits include:
The major benefits include:
- Up to date language support for C, C++, Objective C
- Multi-line expressions that can declare local variables and types
- Utilitize the JIT for expressions when supported
- Evaluate expression Intermediate Representation (IR) when JIT can't be used