Файл .gdbinit не найден в локальном каталоге - PullRequest
0 голосов
/ 20 сентября 2018

Отладчик gdb не может найти мой локальный .gdbinit файл, но вместо этого находится только тот, который находится в папке, указанной аргументом -cd.

Когда в локальной папке нет файла, откуда онзапущен, он не показывает никаких предупреждений:

/home/mydir/sources $ rm .gdbinit
/home/mydir/sources $ gdb --cd /home/mydir/apprundir
(output omited)

Но, если мы создадим файл .gdbinit в текущей папке, из которой он запущен, он обнаружит, что он там, но вместо загрузки показывает "предупреждение: .gdbinit: такого файла или каталога нет" .

/home/mydir/sources $ > .gdbinit
/home/mydir/sources $ gdb -cd /home/mydir/apprundir
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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".
warning: .gdbinit: No such file or directory

Есть ли другие способы настроить файл cmd, не используя аргументы командной строки gdb?Но какими-либо внешними способами, такими как переменные среды или другие?Я не могу передать аргументы в gdb, потому что он запускается сторонними скриптами, и я не могу создавать файлы в домашней папке приложения.

PS: Моя последняя альтернатива - это поместить все команды внутриФайл $ HOME / .gdbinit, но я избегаю его, потому что есть другие среды разработки, использующие тот же файл $ HOME / .dbginit

1 Ответ

0 голосов
/ 21 сентября 2018

warning: .gdbinit: No such file or directory

Это почти наверняка ошибка в GDB - я ожидаю, что она прочитает .gdbinit из каталога, указанного с помощью аргумента -cd DIR. Документация говорит:

 5. Processes command line options and operands.
 6. Reads and executes the commands from init file (if any) in the current working directory ...

Логически, текущим рабочим каталогом на данный момент должно быть DIR.

Мой последний вариант - поставить всекоманды внутри файла $HOME/.gdbinit, но я избегаю этого, потому что есть другие среды разработки, использующие тот же файл $HOME/.dbginit

Если у вас не древняя GDB со встроенным Python, вы можете поместитьsource ~/.gdbinit.py в ваш ~/.gdbinit~/.gdbinit.py в вашем распоряжении вся мощь Python.Вы можете исследовать среду, аргументы (включая двоичный файл, который вы собираетесь отлаживать) и соответствующим образом настроить параметры для , конкретной среды.

...