Есть ли способ получить исходный код C ++, скомпилированный в двоичный файл, чтобы gdb мог его увидеть? - PullRequest
3 голосов
/ 28 марта 2012

Скажем, у меня есть машина сборки и тестовая машина, а исходный код находится только на машине сборки.(Linux)

У меня есть исполняемый файл C / C ++ для отладочной сборки, и я хочу запустить его с gdb на тестовой машине.

В отладчике, работающем на тестовой машине, он все еще ищетфактические исходные файлы, которых там нет.

Есть ли способ сделать так, чтобы g ++ фактически включал исходный код в сам исполняемый файл вместе с другой отладочной информацией, чтобы файлы не были нужны?

Ответы [ 2 ]

4 голосов
/ 28 марта 2012

Невозможно скомпилировать исходный код в двоичный файл для такой отладки gdb.

Вероятно, лучший механизм в этом случае - использовать gdbserver - который позволяет вамдля удаленного запуска приложения и его отладки на компьютере сборки.

Если вы не можете использовать удаленную отладку, то альтернативой является монтирование каталога, содержащего исходный код, на тестовой машине, а затем используйте set substitute-path для сопоставления каталога, который имеется на тестовом компьютере, со сборочным компьютером.

2 голосов
/ 28 марта 2012

Нет, но хорошая новость в том, что в этом нет необходимости. Вы должны установить ваш исходный путь . Он должен принять сетевой путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...