调试问题
当使用 lldb 默认在 VSCode 中调试 Rust 代码时我们的函数会以汇编的形式显示,这对于代码的调试和学习不利,通过搜索和测试可以使用如下方法解决。
VSCode 配置
我们在生成的 launch.json 中增加一个 sourceMap 配置项,里面的值下面会讲解
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'rust-hello'",
"cargo": {
"args": ["build", "--bin=rust-hello", "--package=rust-hello"],
"filter": {
"name": "rust-hello",
"kind": "bin"
}
},
"args": [],
"cwd": "${workspaceFolder}",
"sourceMap": {
"/rustc/commit-hash/": "value"
}
}
sourceMap 的 key 获取方法
我们可以使用命令 rustc --version --verbose 在输出的文本中找到 commit-hash 复制后面的内容填到配置文件的 commit-hash 中。
sourceMap 的 value 获取方法
我们使用命令 rustup show home 来获取我们的 rust 源文件的根目录,返回的是:/Users/you name/.rustup
再使用命令 rustup default 获取到当前 rust 使用的版本,返回的是:1.71.0-x86_64-apple-darwin
最后将两个路径相加,再加上固定的路径 /lib/rustlib/src/rust 就是我们 value 的最终路径。如下所示:
/Users/you name/.rustup/toolchains/1.71.0-x86_64-apple-darwin/lib/rustlib/src/rust
最后重新启动你的调试即可