GDB自动加载Python脚本

Dav*_*ave 5 python gdb

我正在尝试建立一个系统,在其中可以将python脚本添加到目录中,并且下次加载gdb时将可以访问它们(关键是将其放置在版本控制中,并允许其他工程师简单地访问我的帮助脚本)。对于初学者,我已经写了一个hello.py文件,当我输入source /path/to/hello.pygdb,然后hello按预期工作。

如何使GDB自动执行此操作?该文档建议使用数据目录,并将脚本放在中data-directory/python/gdb/commandhello.py虽然将我的文件放在此目录中没有任何作用(但是最终会创建一个hello.pyc文件)。

我还尝试将该目录添加到我的目录列表中dir /path/to/hello/,然后希望能够键入,source hello.py但这也失败。

Gor*_*ley 6

创建一个.gdbinit文件,然后将所有source命令放在gdb要从其开始的同一目录中。我相信该文件将如下所示:

.gdbinit

source /path/to/hello.py
source /path/to/foobar.py
etc, etc
Run Code Online (Sandbox Code Playgroud)

参考

编辑:.gdbinit在版本控制中包含文件将确保文件包含在内,而与全局gdb设置无关。


小智 6

我今天正在寻找同一问题的答案。最终我想出了以下几点:

.gdbinit

python
import glob

python_dir = "/path/to/python"

# Search the python dir for all .py files, and source each
py_files = glob.glob("%s/*.py" % python_dir)
for py_file in py_files:
    gdb.execute('source %s' % py_file)
end
Run Code Online (Sandbox Code Playgroud)

请注意,.gdbinit可以是~/.gdbinit./.gdbinit; 看gdbinit(5)