如何在VS Code中使用cppvsdbg调试Rust单元测试
让Rust单元测试的Debug链接改用cppvsdbg调试
要解决点击Rust测试函数上方的“Debug”链接时默认使用LLDB的问题,只需两步配置即可切换到cppvsdbg:
1. 在launch.json中添加cppvsdbg测试调试配置
打开.vscode/launch.json,添加专门针对Rust测试的cppvsdbg配置项:
{ "version": "0.2.0", "configurations": [ { "name": "Rust Test (cppvsdbg)", "type": "cppvsdbg", "request": "launch", "program": "${command:rust-analyzer.debugExecutable}", "args": ["--exact", "${command:rust-analyzer.debugArgs}"], "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false } ] }
这里用${command:rust-analyzer.debugExecutable}和${command:rust-analyzer.debugArgs}能自动获取当前测试的可执行文件路径和参数,不用手动写冗长的哈希后缀,适配性更强。
2. 让rust-analyzer默认使用这个配置
打开.vscode/settings.json,添加以下设置,强制rust-analyzer在触发测试调试时调用我们定义的cppvsdbg配置:
{ "rust-analyzer.debug.defaultConfig": "Rust Test (cppvsdbg)" }
验证效果
重启VS Code后,再点击测试函数上方的“Debug”链接,就能看到调试会话用的是cppvsdbg引擎了。
额外注意
- 确保你的环境装好了cppvsdbg的依赖:需要安装Visual Studio(至少勾选“C++开发工具”组件),因为cppvsdbg是Visual Studio提供的调试引擎。
- 如果遇到路径错误,可以手动指定测试可执行文件路径,比如
${workspaceFolder}/target/debug/deps/your_crate_name-xxxxxx(替换成你实际的 crate 名和哈希串)。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

