You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of rust-lang#140130 - ede1998:add-lldb-btree-providers, r=Mark-Simulacrum
Add LLDB providers for BTreeMap and BTreeSet
Fixesrust-lang#111868.
I'm unsure what the supported LLDB versions for `rust-lldb` are. I tested with LLDB 18 and 19 and it works with those but I know that it does not work with LLDB 14 which was picked by my `codelldb` extension for some reason (even though it packages LLDB 19).
I also had to work around what seems like an LLDB bug to me. Otherwise, I'd have kept the code more similar to the GDB provider.
`SBTarget.FindFirstType()` does not find the types that I'm searching for (`LeafNode<i32, i32>*`):
```
target = node.GetTarget()
print("leaf type:", node.GetType())
internal_type = target.FindFirstType(node.GetType().GetName())
print("Actual type:", internal_type)
```
which prints
```
leaf type: struct alloc::collections::btree::node::LeafNode<int, int> *
Actual type: No value
```
All in all, my experience with LLDB debug provider was very fiddly/they seem to break easily but I think it would be better to have `BTreeMap`/`BTreeSet` providers than not have them.
Getting to run the `debuginfo` tests was a pain too because of rust-lang#126092 and errors with `import _lldb` (rust-lang#123621).
I ended up re-compling lldb from source against python 3.10 because the tests don't work if lldb is compiled against python 3.12.
Also, it seems like the tests are not run in CI? At least I had a test commit in the PR before to trigger a `debuginfo` test failure which I didn't see here in my PR.
0 commit comments