Next: Attach, Previous: Working Directory, Up: Running
GDB配下で実行されるプログラムは、 デフォルトでは、 GDBと同一の端末に対して入出力を行います。 GDBは、 ユーザとのやりとりのために、 端末モードをGDB用に変更します。 このとき、 ユーザ・プログラムが使用していた端末モードは記録され、 ユーザ・プログラムを継続実行すると、 そのモードに戻ります。
info terminal
run
コマンドにおいてシェルのリダイレクト機能を使用することによって、
ユーザ・プログラムの入出力をリダイレクトすることが可能です。
例えば、
run > outfile
はユーザ・プログラムの実行を開始し、 その出力をファイルoutfileに書き込みます。
ユーザ・プログラムの入出力先を指定する別の方法に、
tty
コマンドがあります。
このコマンドはファイル名を引数として取り、
そのファイルを後に実行されるrun
コマンドのデフォルトの入出力先とします。
このコマンドはまた、
後のrun
コマンドにより生成される子プロセスを制御する端末を変更します。
例えば、
tty /dev/ttyb
は、
それ以降に実行されるrun
コマンドによって起動されるプロセスの
デフォルトの入出力先および制御端末を/dev/ttyb端末とします。
run
コマンド実行時に明示的にリダイレクト先を指定することで、
tty
コマンドで指定された入出力装置を変更することができますが、
制御端末の設定は変更できません。
tty
コマンドを使用した場合も、
run
コマンドで入力をリダイレクトした場合も、
ユーザ・プログラムの入力元だけが変更されます。
これらのコマンドを実行しても、
GDBの入力元は、ユーザの使用している端末のままです。