9

这是一个看似微不足道的问题,但我找不到一个简单的方法来完成这个。

我将我的.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".

我在这里查阅了有关自动加载的手册,但它与保存我添加的新安全路径无关!退出 gdb 并重新启动它,我添加的安全路径消失了。

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

4

5 回答 5

8

我在 gdb.exe 所在的同一目录中定义了我的 .gdbinit 文件

放入您的$HOME当前目录。

于 2013-03-14T01:36:45.933 回答
7

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

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

于 2015-03-05T20:11:58.020 回答
2

以上答案都不适合我。问题是在windows下没有设置HOME环境变量。所以让我们设置一个:在命令行中编写:

   set HOME=c:\users\user

.gdbinit 应该在哪里,您可以通过设置内容来禁用安全保护:

set auto-load safe-path /

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

c:\MinGW\bin\gdb.exe app.exe
于 2018-08-28T20:49:49.277 回答
1

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

xt-gdb -iex "设置自动加载安全路径 Path\to\gdbinit\dir" -ix Path\to\gdbinit\dir.gdbinit

于 2017-04-17T14:55:24.033 回答
0

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

于 2020-12-20T18:15:40.020 回答