Debugging with GDB (September 2007)
Chapter 4: Running Programs Under GDB 25
set args Specify the arguments to be used the next time your program is run. If set
args has no arguments, run executes your program with no arguments. Once
you have run your program with arguments, using set args before the next
run is the only way to run it again without arguments.
show args Show the arguments to give your program when it is started.
4.4 Program Environment
The environment consists of a set of environment variables and their values. Envi-
ronment variables conventionally record information such as your user name, your home
directory, your terminal type, and your search path for programs to run. Usually you set
up environment variables with the shell and they are inherited by all the other programs
you run. When debugging, it can be useful to try running your program with a modified
environment without having to start GDB over again.
show envvar
List all the environment variables used by GDB.
show paths
Display the list of search paths for executables (the PATH environment variable).
show environment [varname]
Print the value of environment variable varname to be given to your program
when it starts. If you do not supply varname, print the names and values of
all environment variables to be given to your program. You can abbreviate
environment as env.
set environment varname [=value]
Set environment variable varname to value. The value changes for your program
only, not for GDB itself. The value may be any string; the values of environment
variables are just strings, and any interpretation is supplied by your program
itself. The value parameter is optional; if it is eliminated, the variable is set to
a null value.
For example, this command:
set env USER = foo
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.
path directory
Add directory to the front of the PATH environment variable (the search path
for executables), for both GDB and your program. You may specify several
directory names, separated by whitespace or by a system-dependent separator