22

I'm having trouble loading a .gdbinit file located in the current directory. On starting gdb, I get this:

GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
warning: File "/home/user1/test/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". 

I can load the .gdbinit file in the current directory by starting gdb with:

gdb -iex 'add-auto-load-safe-path .'

as described here. but is there a way set $debugdir to include the current directory?

Trying

$ export debugdir=.
$ gdb

yields the same warning as above.

Ciro Santilli OurBigBook.com
  • 347,512
  • 102
  • 1,199
  • 985
fragapanagos
  • 629
  • 1
  • 7
  • 13

2 Answers2

30

See http://sourceware.org/gdb/current/onlinedocs/gdb/Startup.html#Init%20File%20in%20the%20Current%20Directory%20during%20Startup

Basically, what you want is to allow loading the per-directory .gdbinit from your ~/.gdbinit. If you are not worried about the security aspects, then this works:

set auto-load safe-path .

Or, if that doesn't cut it for some reason, you can also allow loading the .gdbinit from anywhere on the system:

set auto-load safe-path /
fresskoma
  • 25,481
  • 10
  • 85
  • 128
Tom Tromey
  • 21,507
  • 2
  • 45
  • 63
  • 3
    Thanks Tom. Setting the auto-load safe-path in the home directory .gdbinit worked. Setting the safe-path to . instead of / also worked. This would be more secure, no? – fragapanagos Jun 10 '13 at 00:18
  • 1
    Yeah, for the most security, set this to the minimal things required. – Tom Tromey Jun 12 '13 at 15:38
3

In my case I had no ~/.gdbinit file. The solution was creating this file containing two lines specifying auto-load-safe-path(s).

add-auto-load-safe-path <path1>
add-auto-load-safe-path <path2>
Flaviu
  • 931
  • 11
  • 16