我有期望它的命令行看起來像這樣一些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