我有期望它的命令行看起来像这样一些C++代码:Eclipse中的命令行参数?
/路径/到/ EXE -p:参数名称=“[/路径/到/一个/文件/路径/到/另一个/文件]“
包括的引号。它们可以是单引号或双引号,但它们必须在那里。在Eclipse中,如果我设置命令行参数(调试配置/参数)并输入上面的命令行选项(减去/ path/to/exe),Eclipse会引用引号。由于我在Linux上运行这个方括号会给shell带来麻烦,它甚至不会将它写入我的代码中。
如果我设置的命令行参数从而:
“这是引用”
的argv [1]看起来像这样:
此被引述
即没有引号。如果我设置了这样的命令行:
\“这是引用\”
我得到:
argv[1]: "this
argv[2]: is
argv[3]: quoted"
如果我尝试把方括号中它可以追溯到给予壳悲伤,即使我试图逃跑他们:
\"\[this is quoted\]\"
我如何告诉Eclipse来把我的命令行参数完全一样,我进入了他们?
感谢
我没有,但我只是。一个很好的尝试,但仍然不是我所追求的。我发现在“gdb traces”控制台窗口中,它向我展示了Eclipse与gdb的对话,并且在那里我可以看到它发出以下命令: –
(对不起 - 我的编辑被中断)
我没有,但我只是做了。一个很好的尝试,但仍然不是我所追求的。我发现在“gdb traces”控制台窗口中,它向我展示了Eclipse与gdb的对话,并且在那里我可以看到它发出'set args“\”\\ [这是引用的\\] \“”'。我意识到shell会解释未转义的括号,但是它改变了我已经告诉它用作命令行的东西。如果我在真实命令行中输入相同的文本,它会按预期工作 - 在argv中没有引号,但括号会通过unmolested传递。 –
@ g-makulik:我认为这是一个日食/ CDT问题。我在Linux GTK和Eclipse Indigo上遇到了这个问题。在通过gdb设置参数时,eclipse/MI没有正确设置CDT调试配置的参数选项卡中带空格的程序参数的双引号。您必须使用单引号。此外,这是一个线程,即使这不适用于Windows:http://www.eclipse.org/forums/index.php/t/175270/我得到正确的行为运行程序从bash shell,但不是eclipse调试发射器。 – timblaktu