如何逐步以交互方式调试Rust应用程序,就像我可以在Ruby中使用“pry”一样?
我希望能够在达到断点时实时查看并优选更改变量。是否有任何生产准备完成的项目?
答案 0 :(得分:20)
launch.json
文件,如果没有打开,则将其保存在.vscode
文件夹下您的launch.json
应该如下所示:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceRoot}/target/debug/hello_world",
"args": [],
"cwd": "${workspaceRoot}/target/debug/",
"sourceLanguages": ["rust"]
}
]
}
如果要保持通用性,并且只编译与货物文件夹名称匹配的二进制文件,则可以使用$ {workspaceRootFolderName}变量替代“ program”键:
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceRoot}/target/debug/${workspaceRootFolderName}",
"args": [],
"cwd": "${workspaceRoot}/target/debug/",
"sourceLanguages": ["rust"]
}
]
}
以下是一些有关Rust和VS Code的博客文章:
答案 1 :(得分:16)
Rust编译器生成带有本机调试信息(符号)信息的本机二进制文件,因此任何本机调试器都可以。这意味着gdb
和lldb
,或Windows调试器(WinDBG或只是Visual Studio),如果您使用的是MSVC ABI版本的Rust。如果您想获得集成体验,RustDT是可行的方法(在Windows上设置:How to set up GDB for debugging Rust programs in Windows?)。请注意,您可能会在Windows上遇到How can I inspect variable values while debugging MSVC ABI Rust programs?,在Mac上遇到https://github.com/rust-lang/rust/issues/33062。
答案 2 :(得分:4)
对于图形调试器,有gdbgui。它适用于Linux,Windows和MacOS。它使用浏览器作为显示器并与调试器进行交互。