gpt4 book ai didi

linux - 让 gdb 自动读取 ./.gdbinit

转载 作者:太空狗 更新时间:2023-10-29 12:22:28 25 4
gpt4 key购买 nike

使用原始 gdb (Debian 8.2.1-2) 调试 RefPerSys(GPLv3+,在 gitlab 上)提交 ec4ab756d302056cace0b在我的 Linux/x86-64/Debian Sid AMD2970WX 桌面上,我重现了

rimski.x86_64 ~/refpersys 14:39 .0 % gdb --args ./refpersys --object-tinybenchmark1
GNU gdb (Debian 8.2.1-2) 8.2.1
Copyright (C) 2018 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".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./refpersys...done.
warning: File "/home/basile/refpersys/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /home/basile/refpersys/.gdbinit
line to your configuration file "/home/basile/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/basile/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"

拥有我的 ./.gdbinit 有什么魔力?在没有诊断的情况下被这样的 gdb 调用消化了吗? .gdbinit 包含:

# file refpersys/.gdbinit 
# GPLv3+ licensed
add-auto-load-safe-path ./.gdbinit
break abort
break rps_fatal_stop_at
set max-value-size 67108864

我可以(过去也这样做过)从其源代码重建 gdb。但今天,我很蹩脚,更喜欢专注于我的错误。

前世今生

(gdb) show configuration 
This GDB was configured as follows:
configure --host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=/usr/share/gdb (relocatable)
--with-jit-reader-dir=/usr/lib/gdb (relocatable)
--without-libunwind-ia64
--with-lzma
--with-babeltrace
--with-intel-pt
--disable-libmcheck
--without-mpfr
--with-python=/usr (relocatable)
--without-guile
--with-separate-debug-dir=/usr/lib/debug (relocatable)
--with-system-gdbinit=/etc/gdb/gdbinit

最佳答案

正如启动 gdb 时警告所说:

To enable execution of this file add
add-auto-load-safe-path /home/basile/refpersys/.gdbinit
line to your configuration file "/home/basile/.gdbinit".

您似乎误解了该行并将其添加到您的存储库中的 .gdbinit 文件中,但它需要进入您的主目录。

如果 .gdbinit 文件在您的主目录中尚不存在,您可以创建它并仅在上面添加所需的行,它应该可以工作。

关于linux - 让 gdb 自动读取 ./.gdbinit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56406855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com