GDB читать автоматически ./.gdbinit - PullRequest
1 голос
/ 01 июня 2019

С неторопливым gdb (Debian 8.2.1-2) при отладке RefPerSys (GPLv3 +, на gitlab ) commit 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 из его исходного кода.Но сегодня я хромая и предпочитаю сосредоточиться на своих ошибках.

FWIW

(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

1 Ответ

1 голос
/ 01 июня 2019

Как показано в предупреждении при запуске 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 еще не существует в вашем домашнем каталоге, вы можете создать его и добавить только нужную строку выше, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...