Add additional LLDB plugin example

This commit is contained in:
Walnut 2025-11-23 20:33:40 -06:00
parent 5d997ffc64
commit c15b8f6c33
2 changed files with 4 additions and 1 deletions

View file

@ -15,6 +15,9 @@ Here are some existing implementations of LLDB's plugin API:
* [Apple's fork with support for Swift](https://github.com/swiftlang/llvm-project)
* [CodeLLDB's former fork with support for Rust](https://archive.softwareheritage.org/browse/origin/directory/?branch=refs/heads/codelldb/16.x&origin_url=https://github.com/vadimcn/llvm-project&path=lldb/source/Plugins/TypeSystem/Rust&timestamp=2023-09-11T04:55:10Z)
* [A work in progress reimplementation of Rust support](https://github.com/Walnut356/llvm-project/tree/lldbrust/19.x)
* [A Rust expression parser plugin](https://github.com/tromey/lldb/tree/a0fc10ce0dacb3038b7302fff9f6cb8cb34b37c6/source/Plugins/ExpressionParser/Rust).
This was written before the `TypeSystem` API was created. Due to the freeform nature of expression parsing, the
underlyng lexing, parsing, function calling, etc. should still offer valuable insights.
## Rust Support and TypeSystemClang

View file

@ -56,7 +56,7 @@ Using the `const` qualifier to denote non-`mut` poses potential issues due to LL
optimizations. In short, LLDB attempts to cache the child-values of variables (e.g. struct fields,
array elements) when stepping through code. A heuristic is used to determine which values are safely
cache-able, and `const` is part of that heuristic. Research has not been done into how this would
interact with things like Rust's interrior mutability constructs.
interact with things like Rust's interior mutability constructs.
### DWARF vs PDB