Debugging with GDB Manual HP WDB v6.3 (5900-2180, August 2012)
standard input and output. Your program as default uses the same device for standard
input and standard output as GDB is using. You can redirect
input and output in the run command line, or you can use
the tty command to set a different device for your program.
See “Program Input and Output” (page 33).
WARNING! You can redirect input and output, but you
cannot use pipes to pass the output of the program you are
debugging to another program; if you attempt this, GDB is
likely to wind up debugging the wrong program.
NOTE:
• When you issue the run command, your program begins to execute immediately. See
Chapter 5 (page 39), for discussion of how to arrange for your program to stop. Once your
program has stopped, you may call functions in your program, using the print or call
commands. See Chapter 8 (page 63).
• If the modification time of your symbol file has changed since the last time GDB read its
symbols, GDB discards its symbol table, and reads it again. When it does this, GDB tries to
retain your current breakpoints.
4.3 Arguments To Your Program
The arguments to your program can be specified by the arguments of the run command. On
HP-UX, they are passed to the C shell (/usr/bin/csh), which expands wildcard characters and
performs redirection of I/O, and then to your program.
On non-Unix systems, the program is usually invoked directly by GDB, which emulates I/O
redirection via the appropriate system calls, and the wildcard characters are expanded by the
startup code of the program, not by the shell.
The run command used with no arguments uses the same arguments used by the previous run,
or those set by the set args command.
Following commands are used to pass the argument values to your program:
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. Environment 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
32 Running Programs Under GDB