2013-11-09 32 views
2

所以我嘗試調試它要求用戶輸入通過終端一些文本的程序:模擬回波輸入與GDB

$ echo 'here is the text' | ./program 

如何模擬在GDB輸入?

+0

的可能的複製[如何加載程序讀入stdin和參數在gdb?](http://stackoverflow.com/questions/455544/how-to-load-program-reading-stdin-and-taking-parameters-in-gdb) –

回答

5

與輸入重定向可以運行程序:

echo 'here is the text' > intput.txt 
gdb ./program 
(gdb) run < intput.txt 
+0

謝謝,我認爲這可能是解決方案。謝謝。 – imre

0

你可以使用--args選項給程序可執行文件,接着參數如下,

% gdb --args ./program arg1 arg2 
+0

因此,我替換--args '這裏是文字'?或者文字在哪裏? – imre

+0

@Foxxy - 參數應該放在你的程序之後,例如arg1,如果多個參數跟在後面。 –

+0

但是我不是在討論這裏的爭論,我是在談論STDIN。因此'這裏是文本'提示的一部分。 – imre