VS Code cppdbg启动配置中含空格的单参数是否需额外引号?
问题解决:VS Code调试parted时的参数传递错误
你在launch.json里给带空格的参数加单引号的做法是错误的,这会导致parted接收到的参数包含额外的单引号,自然无法正确识别命令。
正确的参数配置方式
在VS Code的launch.json中,args数组的每个元素直接对应一个命令行参数,不需要像shell那样用引号包裹带空格的内容——因为这里没有shell来解析参数,参数会被直接传递给程序。
修改后的args部分应该是:
"args": ["-s", "-a", "opt", "/dev/loop0", "print resizepart 1 46280703s print"],
原理说明
命令行里用引号"print resizepart..."是让shell把整个字符串当作一个独立参数传递给parted;而在launch.json的args数组中,每个数组元素本身就代表一个独立参数,所以直接把带空格的字符串作为数组元素即可,不需要额外加引号。你之前加的单引号会被当作参数内容的一部分,parted自然无法识别带引号的命令。
替换后重新启动调试,parted就能正确解析这个包含多个子命令的参数了。
内容的提问来源于stack exchange,提问作者FlexMcMurphy
相关产品推荐
相关产品推荐

