41

プログラムがあり、gdb を使用してデバッグしようとしています。プログラム内には、ユーザーが標準入力を使用して入力する必要があるメソッドがあります。gdb にいるときにこの入力を入力するにはどうすればよいですか? メソッドがどのように機能するかを追跡できるようにするには?

4

3 に答える 3

30
$ cat >foo <<EOF
something
EOF
$ gdb -quiet /bin/cat
Reading symbols from /bin/cat...(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install coreutils-8.12-7.fc16.x86_64
(gdb) run <foo
Starting program: /bin/cat <foo
something
[Inferior 1 (process 22436) exited normally]
(gdb) 
于 2012-10-30T02:47:11.923 に答える
4

私はちょうど昨日このようなことを経験し、インターネット上で必要なものを正確に見つけることができなかったため、gdb で一連の「ヘルプ」コマンドを再帰しました。

set variable *your_variable* = *your desired input*gdb を起動してコードの実行を開始した後に使用しました。魅力のように働きました。

私はこれが遅いことを知っていますが、おそらく他の誰かを助けるでしょう.

于 2015-05-30T13:43:37.450 に答える