需求描述
我想在vscode中调试启动命令行程序,并且给它传递一些命令行参数,我偿试着在launch.json文件中如下设置
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'hello'",
"cargo": {
"args": [
"build",
"--bin=hello",
"--package=hello"
],
"filter": {
"name": "hello",
"kind": "bin"
}
},
"args": ["Hello1", "Hello2"], // 在这里设定命令行参数
"cwd": "${workspaceFolder}"
},
.... // 单元测试的相关设置忽略
]
我的main.rs代码是这样的
fn main() {
let args = std::env::args().collect::<Vec<String>>();
for arg in args.iter() {
println!("arg => {}", arg);
}
}
期望输出结果
当我在点击 fn main() 函数上方的 【Run】或者【Debug】时,期望的输出内容是:
arg => D:\work\rust\hello\target\debug\hello.exe
arg => Hello1
arg => Hello2
实际结果
如下,我设定的两个命令行参数并没有传递进来
arg => D:\work\rust\hello\target\debug\hello.exe
怎么解决?
达不到期望的结果,不方便在vscode中命令行传参调试。
请问要怎么设置,才能达到我期望的效果?
1
共 2 条评论, 1 页
评论区
写评论F5确实可以, 平时点击【Debug】启动调试习惯了,以为它就是F5的替代,自己绕蒙圈了。 解决了,非常感谢!
--
👇
asuper: 要按 F5 运行,才是走的vs code自带的调试框架,你点击函数上面的 Run、Debug,是其他扩展的功能,好像是CodeLLDB还是Code Runner来着,自然不会获取到你配置的参数了
要按 F5 运行,才是走的vs code自带的调试框架,你点击函数上面的 Run、Debug,是其他扩展的功能,好像是CodeLLDB还是Code Runner来着,自然不会获取到你配置的参数了