gdb: Startup
2.1.3 What GDB Does During Startup
----------------------------------
Here's the description of what GDB does during session startup:
1. Sets up the command interpreter as specified by the command line
(interpreter Mode Options.).
2. Reads the system-wide "init file" (if '--with-system-gdbinit' was
used when building GDB; System-wide configuration and
settings System-wide configuration.) and executes all the commands
in that file.
3. Reads the init file (if any) in your home directory(1) and executes
all the commands in that file.
4. Executes commands and command files specified by the '-iex' and
'-ix' options in their specified order. Usually you should use the
'-ex' and '-x' options instead, but this way you can apply settings
before GDB init files get executed and before inferior gets loaded.
5. Processes command line options and operands.
6. Reads and executes the commands from init file (if any) in the
current working directory as long as 'set auto-load local-gdbinit'
is set to 'on' (Init File in the Current Directory). This
is only done if the current directory is different from your home
directory. Thus, you can have more than one init file, one generic
in your home directory, and another, specific to the program you
are debugging, in the directory where you invoke GDB.
7. If the command line specified a program to debug, or a process to
attach to, or a core file, GDB loads any auto-loaded scripts
provided for the program or for its loaded shared libraries.
Auto-loading.
If you wish to disable the auto-loading during startup, you must do
something like the following:
$ gdb -iex "set auto-load python-scripts off" myprogram
Option '-ex' does not work because the auto-loading is then turned
off too late.
8. Executes commands and command files specified by the '-ex' and '-x'
options in their specified order. Command Files, for more
details about GDB command files.
9. Reads the command history recorded in the "history file".
Command History, for more details about the command history and
the files where GDB records it.
Init files use the same syntax as "command files" (Command
Files) and are processed by GDB in the same way. 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 (Choosing
Modes Mode Options.).
To display the list of init files loaded by gdb at startup, you can
use 'gdb --help'.
The GDB init files are normally called '.gdbinit'. The DJGPP port of
GDB uses the name 'gdb.ini', due to the limitations of file names
imposed by DOS filesystems. The Windows port of GDB uses the standard
name, but if it finds a 'gdb.ini' file in your home directory, it warns
you about that and suggests to rename the file to the standard name.
---------- Footnotes ----------
(1) On DOS/Windows systems, the home directory is the one pointed to
by the 'HOME' environment variable.