Ao percorrer o código no depurador, percebi que certas variáveis não mostram valores no painel de variáveis:
- Opções: se uma variável for uma opção, ela não mostra o valor do objeto na opção (se houver um). Acredito que mostre um ptr ou outro valor
- HashMaps: Não consigo visualizar os objetos dentro do hashmap ou seus valores.
Variáveis locais (por exemplo, String, u64) mostram valores normalmente.
Isso é por design ou há uma maneira de visualizar esses valores para facilitar a depuração? Obrigado!
Ser capaz de ver variáveis depende muito se o compilador e o depurador funcionam juntos.
Por exemplo, se você executar o CodeLLDB, certifique-se de que seu código seja compilado com o backend GDB, não com o backend MSVC.
Por outro lado, se você compilar com o backend do MSVC, o
ms-vscode.cpptools
depurador pode funcionar melhor para você.Você pode escolher o depurador que
rust-analyzer
usa em:Settings
->Extensions
->rust-analyzer
->debug
->Debug: Engine
Você pode alternar a cadeia de ferramentas do compilador chamando (supondo que você esteja no Windows):
rustup default stable-x86_64-pc-windows-msvc
rustup default stable-x86_64-pc-windows-gnu
(seguido pela
cargo clean
)No Windows 11, obtive os melhores resultados com:
x86_64-pc-windows-gnu
+vadimcn.vscode-lldb
(CódigoLLDB)x86_64-pc-windows-msvc
+ms-vscode.cpptools
Nessas configurações, ambos foram capazes de resolver o conteúdo de um HashMap.