Reputation: 5080
Does anyone know how to save gdb settings (like "set print pretty on" or "set print elements 0", both from here)? I don't want to set my configuration every time that I will use gdb :/
I searched in google and SO, but I found nothing.
Upvotes: 52
Views: 32682
Reputation: 27832
The authorative Debugging with GDB manual explains initialization files. In particular, the manual says the following for user-specific home directory initialization files:
There are a number of locations that GDB will search in the home directory, these locations are searched in order and GDB will load the first file that it finds, and subsequent locations will not be checked.
On non-Apple hosts the locations searched are:
$XDG_CONFIG_HOME/gdb/gdbinit $HOME/.config/gdb/gdbinit $HOME/.gdbinit
While on Apple hosts the locations searched are:
$HOME/Library/Preferences/gdb/gdbinit $HOME/.gdbinit
Furthermore, there exist home directory early initialization files, system wide initialization files, and local directory initialization file. The documentation explains their evaluation order.
Upvotes: 1
Reputation: 20255
The existing answer works for commands that can run before the binary is loaded, but for example if you want to add catch throw
you cannot do it in .gdbinit since that command needs to run after the binary is loaded.
But gdb can take a file with commands to run after binary loading using:
-x file
Execute GDB commands from file file.
I automated that by creating an alias:
alias gdb='gdb -x ~/.gdbinit_x'
and added my after binary load commands in that file.
Upvotes: 8
Reputation: 13318
Add any commands you want to auto run in the .gdbinit file in your home directory.
Upvotes: 92