LINUX.ORG.RU

Что случилось с gdb 8?

 ,


0

2

.gdbinit

set args aaaa
b main
r
запускаем

gdb prog получаем

Type "apropos word" to search for commands related to "word"...
No symbol table is loaded.  Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
/opt/home/lve/.gdbinit:3: Error in sourced command file:
No executable file specified.
Use the "file" or "exec-file" command.
Reading symbols from prog...done.
(gdb)

20 лет оно работало!

Какого хрена gdb игнорирует аргумент «prog» ?

Если в .gdbinit вписать

file prog
b main
r
то запуск gdb делает то, что нужно.

Как вернуть стандартное поведение?

★★★★★

Судя по этому, оно и не должно работать:

...
2. Reads the system-wide init file (if --with-system-gdbinit was used when building GDB; see System-wide configuration and settings) and executes all the commands in that file.
...
5. Processes command line options and operands.
...

Убрал бы run из init-а и было б норм

Deleted
()
Ответ на: комментарий от Deleted

6. Reads and executes the commands from init file (if any) in the current working directory

.gdbinit в ОП локальный и имеется в виду, скорее всего.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Вроде не локальный(./.gdbinit), т. к. порядок сообщений в ОП другой:

...
Reading symbols from /bin/echo...(no debugging symbols found)...done.
.gdbinit:1: Error in sourced command file:
...

Хотя, у меня не восьмёрка, конечно

Deleted
()

Беда еще в том, что gdb-7.12 не собирается gcc-8.1

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Но в документации на 7.x аналогичный порядок инициализации. Видимо, оно не должно было работать, вот и исправили, хотя в списке изменений что-то не видно.

xaizek ★★★★★
()
Ответ на: комментарий от vel

7.х оно работало!

Наверняка окружение запуска изменилось, т. к. на 7.12 картина аналогичная:

$ cat ~/.gdbinit
set args 1 2 3
r
$ gdb -q echo
~/.gdbinit:2: Error in sourced command file:
No executable file specified.
Use the "file" or "exec-file" command.
Reading symbols from /bin/echo...(no debugging symbols found)...done.
(gdb) 
alias gdb='gdb -x ~/.gdbinit в качестве подпорки. Но лучше перенести в локальный и указывать его явно(-x)

Deleted
()
Ответ на: комментарий от Deleted

На 7.11.1 аналогично. Впечатление, что раньше .gdbinit просто был не в ~/.

xaizek ★★★★★
()

мда, и в 7.9.1 $HOME/.gdbinit ведет себя так же.

Видимо отладка в хомяке не лучшая идея.

vel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.