在Visual Studio调试命令参数中逃脱

Escaping in Visual Studio debugging command arguments

本文关键字:参数 逃脱 命令 调试 Visual Studio      更新时间:2023-10-16

我正在尝试在Visual Studio的调试会话中将命令行参数<(单角括号,无引号)传递给C 程序。如C 调试配置的项目设置中所述,<作为重定向操作员具有特殊的含义,但并未指定如何逃脱。我已经尝试使用"<"^<,但是它们都没有做我想要的。使用"<"参数从命令行调用命令按预期工作。

因此,似乎首先对调试命令参数进行了预处理。有什么办法可以逃避此预处理?

似乎使用"<"在使用"开始调试"时可以使用。我正在使用"启动而不调试",因此可以通过将"<"传递给空控制台应用程序并调用"启动而无需调试"。

来复制问题。

"启动而不调试"似乎实际上调用了cmd.exe,因此命令参数受命令行解释规则的约束。然后,问题实际上是如何在命令行中逃脱<的方法。<可以通过使用^<来逃脱外部双引号,但我仍然不知道如何逃脱<在双引号中。

我必须说,根据程序的启动方式,对调试命令参数的解释要遵守不同的规则,这是令人惊讶的。