codelldb
codelldb copied to clipboard
Rust enum printing broken on Windows since Rust 1.65
OS: Windows_NT x64 10.0.19045 VSCode version: 1.74.2 (user setup) CodeLLDB version: v1.8.1 Compiler: Rust 1.65.0 Debuggee: x86_64-windows-msvc
The CodeLLDB extension currently doesn't show Rust enumerations (sum type) correctly on Windows when using Rust 1.65 or newer. It worked fine in 1.64.
I noticed that enum$<
is now enum2$<
. It was changed in this commit that was part of Rust 1.65:
https://github.com/rust-lang/rust/pull/98393
I have created a small example that can be used to reproduce the problem and it includes screenshots: https://github.com/MichaelMcDonnell/enum_debug
Thank you!
This one won't be fixed for a while. Lldb does not support accessing static class members, which is needed to decode new style msvc enums.
I suggest compiling for the -gnu ABI.
Ok, thanks! Is there an open issue for accessing static class members in the LLDB issue tracker?
Not that I know of.
AFAIK this has been fixed in LLVM 18.0.0
Are you sure about that? It's still looks similar to this on my system with
rustc 1.78.0 (9b00956e5 2024-04-29)
binary: rustc
commit-hash: 9b00956e56009bab2aa15d7bff10916599e3d6d6
commit-date: 2024-04-29
host: x86_64-pc-windows-msvc
release: 1.78.0
LLVM version: 18.1.2
My bad on the wording - the LLVM issues blocking this from being fixed in codeLLDB have been resolved.
Ah I see. So that means I'll have to wait for CodeLLDB to make the actual fixes (after updating its LLDB version), right?