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-а и было б норм

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

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

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

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

dllmain ()
Ответ на: комментарий от 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)

dllmain ()