如何在gdb启动时加载.gdbinit?

时间:2013-03-14 00:47:24

标签: windows gdb

这是一个似乎微不足道的问题,但我找不到一个简单的方法来实现这一目标。

我的.gdbinit文件定义在与gdb.exe存在的目录相同的目录中 - 这是在我的编译器的bin目录中。但是,当我运行gdb时,我得到了这个:

GNU gdb (GDB) 7.5.50.20120804-cvs
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 "i686-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
warning: File "g:\Mingw32-4.6.3\bin\.gdbinit" auto-loading has been declined by
your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".

我查阅了关于自动加载here的手册,但它没有任何关于保持我添加的新安全路径的保存!退出gdb并再次启动它,我添加的安全路径已经消失。

我的.gdbinit包含我一直希望在启动时加载的设置。加载.gdbinit可能与环境无关,但在Windows下执行此操作的最简单方法是什么?有一个.gdbinit不能驻留在我的主目录中的附加约束 - 它必须与gdb.exe可执行文件位于同一路径中。

5 个答案:

答案 0 :(得分:7)

  

我将.gdbinit文件定义在与gdb.exe存在的目录相同的目录中

输入您的$HOME当前目录。

答案 1 :(得分:7)

我在Windows 7上使用CodeSourcery arm-none-eabi-gdb.exe。按照上述说明在我的情况下不起作用。下面的命令工作:

arm-none-eabi-gdb.exe -x D:\CodeSourcery\bin\.gdbinit

答案 2 :(得分:1)

以上所有答案均不适用于我。问题是在Windows下没有设置HOME环境变量。因此,让我们设置一个: 在命令行中编写:

   set HOME=c:\users\user

.gdbinit应该位于的位置,以及可以通过设置其内容来禁用安全保护的地方:

set auto-load safe-path /

从现在开始,您的gdb将加载您的本地.gdbinit

c:\MinGW\bin\gdb.exe app.exe

答案 3 :(得分:0)

我使用-iex -ix参数启动Xtensa工具链附带的xt-gdb,如下所示:

xt-gdb -iex“set auto-load safe-path Path \ to \ gdbinit \ _dir”-ix Path \ to \ gdbinit \ dir.gdbinit

答案 4 :(得分:0)

对于其他苦苦挣扎的 xtensa 工具链用户:xt-gdb 不是在寻找名为 .gdbinit 的文件,而是在寻找 .xt-gdbinit。其他方面的机制与标准 gdb 完全相同。

相关问题