A command file for GDB is a file of lines that are GDB commands. Comments (lines starting with #) may also be included. An empty line in a command file does nothing; it does not mean to repeat the last command, as it would from the terminal.
When you start GDB, it automatically executes commands from its
init files, normally called .gdbinit
1.
During startup, GDB does the following:
-x
option.
The init file in your home directory can set options (such as set
complaints
) that affect subsequent processing of command line options
and operands. Init files are not executed if you use the -nx
option (see Choosing modes).
On some configurations of GDB, the init file is known by a different name (these are typically environments where a specialized form of GDB may need to coexist with other forms, hence a different name for the specialized version's init file). These are the environments with special init file names:
.vxgdbinit
.os68gdbinit
.esgdbinit
You can also request the execution of a command file with the
source
command:
source
filename
The lines in a command file are executed sequentially. They are not printed as they are executed. An error in any command terminates execution of the command file and control is returned to the console.
Commands that would ask for confirmation if used interactively proceed without asking when used in a command file. Many GDB commands that normally print messages to say what they are doing omit the messages when called from command files. GDB also accepts command input from standard input. In this mode, normal output goes to standard output and error output goes to standard error. Errors in a command file supplied on standard input do not terminate execution of the command file -- execution continues with the next command.
gdb < cmds > log 2>&1
(The syntax above will vary depending on the shell used.) This example
will execute commands from the file cmds
. All output and errors
would be directed to log
.