Настройка среды gdb при ее запуске через emacs
У меня есть программа, которую я хотел бы отладить с gdb через emacs. Для запуска версий разработки этой программы у меня есть сценарий оболочки, который я могу источник, который устанавливает вызывающую среду, чтобы увидеть правильные библиотеки и т. д. Я не могу разобраться, как попросить emacs / gud отправить этот файл перед выполнением gdb.
Я пробовал использовать команду типа " source env.sourceme & & gdb my_program", но emacs жалуется, что он не знает, что означает "источник". Думаю, это не так. действительно работает gdb в оболочке, поэтому такие трюки не будут работать.
Итак, как я могу убедить gud/emacs/whatever запустить gdb в моей пользовательской среде? У меня есть хакерское решение, но я чувствую, что что-то упускаю.
3 ответов
каково твое решение "Сокс"?
почему бы вам просто не иметь сценарий-оболочку, который sources env.sourceme
а затем запустить gdb?
#!/usr/bin/env bash
source env.sourceme
gdb -i=mi
gdb имеет свой собственный синтаксис для настройки переменных среды:
set environment varname [=value]
вместо сценария оболочки напишите свои определения переменных в файле, используя приведенный выше синтаксис, затем source
файл из запущенного сеанса gdb. Обратите внимание, что это не встроенный bash , но собственный gdb, поэтому, естественно, определения переменных среды в стиле bash не будут работать.
вы можете изменить среду Emacs с помощью setenv
, либо в интерактивном режиме (M-x setenv
) или программно:
(setenv "FOOBAR" "whatever")
при выполнении gud-gdb
, все, что вы установите с помощью setenv
будет передано в