6.6. Your program's input and output
By default, the program you run under gdb does input and output to
the same terminal that gdb uses. gdb switches the terminal
to its own terminal modes to interact with you, but it records the terminal
modes your program was using and switches back to them when you continue
running your program.
- info terminal
Displays information recorded by gdb about the terminal modes your
program is using.
You can redirect your program's input and/or output using shell
redirection with the run command. For example,
starts your program, diverting its output to the file outfile.
Another way to specify where your program should do input and output is
with the tty command. This command accepts a file name as
argument, and causes this file to be the default for future run
commands. It also resets the controlling terminal for the child
process, for future run commands. For example,
directs that processes started with subsequent run commands
default to do input and output on the terminal /dev/ttyb and have
that as their controlling terminal.
An explicit redirection in run overrides the tty command's
effect on the input/output device, but not its effect on the controlling
terminal.
When you use the tty command or redirect input in the run
command, only the input for your program is affected. The input
for gdb still comes from your terminal.