Bobby Dore Asked: 2024-12-21 04:26:45 +0800 CST2024-12-21 04:26:45 +0800 CST 2024-12-21 04:26:45 +0800 CST 使用 Rust 和 CodeLLDB 在 Visual Studio 代码中查看变量值 772 当我在调试器中逐步执行代码时,我注意到某些变量没有在变量窗格中显示值: 选项:如果变量是选项,则不会显示选项中对象的值(如果有)。我相信它显示了 ptr 或其他值 HashMaps:我无法查看哈希图中的对象或它们的值。 局部变量(例如,String,u64)正常显示值。 这是设计使然吗?还是有办法查看这些值以便于调试?谢谢! visual-studio-code 1 个回答 Voted Best Answer Finomnis 2024-12-21T07:19:37+08:002024-12-21T07:19:37+08:00 是否能够看到变量很大程度上取决于编译器和调试器是否配合。 例如,如果您运行 CodeLLDB,您要确保您的代码是使用 GDB 后端编译的,而不是使用 MSVC 后端。 另一方面,如果您使用 MSVC 后端进行编译,ms-vscode.cpptools调试器可能会更好地为您工作。 您可以选择使用的调试器rust-analyzer: Settings-> Extensions-> rust-analyzer-> debug->Debug: Engine 您可以通过调用来切换编译器工具链(假设您在 Windows 上): rustup default stable-x86_64-pc-windows-msvc rustup default stable-x86_64-pc-windows-gnu (其次是cargo clean) 在 Windows 11 上,我使用以下方法获得了最佳效果: x86_64-pc-windows-gnu+ vadimcn.vscode-lldb(代码LLDB) x86_64-pc-windows-msvc+ms-vscode.cpptools 在这些配置中,两者都能够解析 HashMap 的内容。
是否能够看到变量很大程度上取决于编译器和调试器是否配合。
例如,如果您运行 CodeLLDB,您要确保您的代码是使用 GDB 后端编译的,而不是使用 MSVC 后端。
另一方面,如果您使用 MSVC 后端进行编译,
ms-vscode.cpptools
调试器可能会更好地为您工作。您可以选择使用的调试器
rust-analyzer
:Settings
->Extensions
->rust-analyzer
->debug
->Debug: Engine
您可以通过调用来切换编译器工具链(假设您在 Windows 上):
rustup default stable-x86_64-pc-windows-msvc
rustup default stable-x86_64-pc-windows-gnu
(其次是
cargo clean
)在 Windows 11 上,我使用以下方法获得了最佳效果:
x86_64-pc-windows-gnu
+vadimcn.vscode-lldb
(代码LLDB)x86_64-pc-windows-msvc
+ms-vscode.cpptools
在这些配置中,两者都能够解析 HashMap 的内容。