28
Chapter 6. Running Programs Under gdb
tells the debugged program, when subsequently run, that its user is named
foo
. (The spaces
around
=
are used for clarity here; they are not actually required.)
unset environment
varname
Remove variable
varname
from the environment to be passed to your program. This is different
from
set env
varname
=
;
unset environment
removes the variable from the environment,
rather than assigning it an empty value.
Warning:
On Unix systems, gdb runs your program using the shell indicated by your
SHELL
envi-
ronment variable if it exists (or
/bin/sh
if not). If your
SHELL
variable names a shell that runs an
initialization file--such as
.cshrc
for C-shell, or
.bashrc
for BASH--any variables you set in that
file affect your program. You may wish to move setting of environment variables to files that are only
run when you sign on, such as
.login
or
.profile
.
6.5. Your program’s working directory
Each time you start your program with
run
, it inherits its working directory from the current working
directory of gdb. The gdb working directory is initially whatever it inherited from its parent process
(typically the shell), but you can specify a new working directory in gdb with the
cd
command.
The gdb working directory also serves as a default for the commands that specify files for gdb to
operate on. Refer to Section 17.1
Commands to specify files
.
cd
directory
Set the gdb working directory to
directory
.
pwd
Print the gdb working directory.
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,
run
outfile
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,
Содержание ENTERPRISE LINUX 4 - DEVELOPER TOOLS GUIDE
Страница 1: ...Red Hat Enterprise Linux 4 Debugging with gdb ...
Страница 12: ...2 Chapter 1 Debugging with gdb ...
Страница 28: ...18 Chapter 4 Getting In and Out of gdb ...
Страница 34: ...24 Chapter 5 gdb Commands ...
Страница 44: ...34 Chapter 6 Running Programs Under gdb ...
Страница 68: ...58 Chapter 8 Examining the Stack ...
Страница 98: ...88 Chapter 10 Examining Data ...
Страница 112: ...102 Chapter 12 Tracepoints ...
Страница 118: ...108 Chapter 13 Debugging Programs That Use Overlays ...
Страница 138: ...128 Chapter 14 Using gdb with Different Languages ...
Страница 144: ...134 Chapter 15 Examining the Symbol Table ...
Страница 170: ...160 Chapter 19 Debugging remote programs ...
Страница 198: ...188 Chapter 21 Controlling gdb ...
Страница 204: ...194 Chapter 22 Canned Sequences of Commands ...
Страница 206: ...196 Chapter 23 Command Interpreters ...
Страница 216: ...206 Chapter 25 Using gdb under gnu Emacs ...
Страница 296: ...286 Chapter 27 gdb Annotations ...
Страница 300: ...290 Chapter 28 Reporting Bugs in gdb ...
Страница 322: ...312 Chapter 30 Using History Interactively ...
Страница 362: ...352 Appendix D gdb Remote Serial Protocol ...
Страница 380: ...370 Appendix F GNU GENERAL PUBLIC LICENSE ...
Страница 386: ...376 Appendix G GNU Free Documentation License ...
Страница 410: ......