LINUX.ORG.RU

Подстановка пути к исходникам из командной строки

 


0

1

Есть у меня проект, и нужно, при деплое дебаг версии, скриптами делать разные вещи. Одна из таких вещей это запуск отладчика с указанием исполняемого файла(или аттача к уже запущенному процессу).

Всё вышеперечисленное я сделал, но столкнулся с проблемой. Дело в том что путь к исходникам сохраняется тот что был на машине сборки, а на отладочной машине исходники лежат по другому пути, хоть и с той же иерархией. Нашел команду set substitute-path, которой можно заменить путь к исходникам на другой. И вроде бы всё хорошо, но как эту команду выполнить из командной строки gdb? У меня что-то никак не выходит и прошу помощи.

Сейчас пытаюсь сделать что-то вроде:

gdb -ex=r --args ./EXECUTABLE «set substitute-path /home/user/Projects/Project ./»

И такой вариант не работает. Причем никаких ошибок не пишет. Просто путь к исходникам не подменяется. Если скопировать и эту же команду выполнить уже внутри gdb, то всё отлично работает.

PS: Каждый раз выполнять после запуска gdb подстановку пути - ну не вариант.

PPS: Уже хочу отчаятся и повторить из скрипта путь к исходникам на машине сборки и сделать оттуда симлинк на каталог с исходниками. Но это как-то уж больно костыльно будет. Хотелось бы без таких костылей обойтись.

★★★★★

gdb -ex=r --se="./EXECUTABLE" --init-eval-command="set substitute-path /home/user/Projects/Project ./"

Сам спросил, сам нашел ответ, сам ответил :) Может кому пригодится.

Loki13 ★★★★★
() автор топика
Последнее исправление: Loki13 (всего исправлений: 2)
Ответ на: комментарий от tff

За вариант спасибо, но это не в моем случае. У меня исходники могут быть где угодно при сборке(у каждого девелопера свой хомяк), поэтому записываю startdebug.sh скрипт при сборке, в котором уже прописано что запустить и какой путь нужно будет заменить при запуске.

Loki13 ★★★★★
() автор топика