2017-04-19 126 views
1

だから、ファイルの内容を引数としてgdbでプログラムを実行したい。次に、EOFがヒットしたときに、再度ユーザー入力を入力できるようにしたい。端末の通常のプログラムでは、次のコマンドでこれを行うことができます。 GDBでファイル入力と標準入力をgdbに渡す

(cat input.txt; cat) | ./program 

私はこのようなファイルの引数を渡すことができますが、ファイルの終わりに達した後に、それは永遠に改行を入力し続けています。

(gdb) run < input.txt 

標準入力がバック私は単に二catなし

(cat input.txt) | ./program 

をすれば何が起こるかに似たプログラムに渡されていなかったかのようにそれはほとんどです。これはgdbでも可能ですか?

答えて

1

プログラムを1つのコンソールで実行し、入力を待っているときに別のコンソールからプログラムをgdbで接続することができます。したがって、第1のコンソールにプログラム入力を入力し、第2のコンソールでデバッグすることができます。

+0

私は以前これを行っています。それはうまくいく、私はそれが2つの端末なしでそれをすることが可能かどうか疑問に思っていた。これはgdb内で完全には行えないという確認ですか? – thedevelop3r

+0

ユーザ入力を2番目のファイルに保存し、 'input.txt'で連結してgdb内で完全に行うこともできると思います。この質問のようなものhttp://stackoverflow.com/q/13104206/72178。 – ks1322

+0

それは私がその後にユーザー入力を受けられないという問題と同じです。あなたの答えは私のために働く。私はただそれを受け入れるつもりです。 – thedevelop3r

関連する問題