在Visual Studio调试命令参数中转义

时间:2017-12-27 12:01:04

标签: c++ visual-studio debugging command-line

我正在尝试在Visual Studio的调试会话期间将命令行参数<(单引号括号,不带引号)传递给C ++程序。如Project settings for a C++ debug configuration中所述,<作为重定向运算符具有特殊含义,但它没有指定如何转义它。我尝试过使用"<"^<,但没有一个能按我的意愿行事。使用"<"参数从命令行调用命令可以按预期工作。

所以看起来调试命令参数首先被预处理。有没有办法逃避这个预处理中的角色?

1 个答案:

答案 0 :(得分:1)

似乎传递"<"如果&#34;开始调试&#34;用来。我正在使用&#34; Start Without Debugging&#34;,因此可以通过将"<"传递给空的控制台应用程序并调用&#34; Start Without Debugging&#34;来重现问题。

&#34;无需调试即可启动&#34;似乎实际上调用了cmd.exe,因此命令参数受命令行解释规则的约束。然后问题是如何在命令行中转义<。可以使用<对双引号外的^<进行转义,但我仍然不知道如何在双引号内转义<

我必须说,根据程序的启动方式,对调试命令参数的解释会受到不同规则的影响,这有点令人惊讶。

相关问题