Каков правильный способ развертывания файлов для удаленного запуска отладки в Eclipse CDT?

Моя ситуация: В настоящее время я пытаюсь использовать Eclipse CDT в качестве замены для собственной IDE. У меня есть корпоративное приложение, которое состоит из исполняемого файла и большого количества (30+) разделяемых библиотечных модулей. Приложение предназначено для встроенной платформы non-x86 с совместимой с POSIX операционной системой (QNX или GNU/Linux, в зависимости от выбранной инструментальной цепочки). Из-за этого отладка не может быть выполнена на машине разработчика. Это нужно сделать удаленно.

Я использую Eclipse Luna/CDT 8.5 с плагином удаленного системного проводника и установкой запуска процесса GDB/DSF. С помощью этих плагинов Eclipse может запускать программу удаленно и отлаживать ее с помощью gdbserver. Но для загрузки может быть настроен только основной исполняемый файл.

Интересно, каким образом можно развернуть файлы для удаленного запуска отладки через Eclipse?

Мои текущие варианты:

  • Использование перспективы удаленного системного проводника, "импортировать" какую-либо удаленную папку в качестве "удаленного проекта" в рабочей области. Установите Makefile для копирования файлов .so в сопоставленную папку после сборки. После сборки вручную обновите "удаленный проект". Затем файлы будут загружены в удаленную систему.
  • Использование перспективы Remote System Explorer, "экспорт" двоичных файлов, расположенных в рабочей области, в удаленную файловую систему, чтобы файлы загружались при удаленном запуске. Этот метод также требует, чтобы я "обновлял" все проекты перед началом сеанса отладки, или изменения не были бы замечены.
  • Не используйте Eclipse для загрузки файлов вообще и развертывайте их вручную или с помощью сборки script.
  • Сделайте жесткий путь и внесите некоторый код в Eclipse СDT.

Есть ли лучшее решение?

Ответ 1

Имеет ли система SSH? SSH отлично подходит для отправки файлов на удаленные компьютеры. Это, вероятно, немного, но вы можете создать настраиваемый плагин eclipse для этой задачи, если вам действительно нужно.

Ответ 2

Как насчет использования команды "Команда для выполнения перед приложением", зарегистрированной в запуске отладки удаленных приложений.

Узел FTP-сервера в этой хост-системе и клиент FTP-клиента. Теперь напишите команду "Команда для выполнения перед приложением", чтобы скопировать файлы с хоста на целевой с помощью FTP. Поскольку эта команда выполняется перед бинарником приложения, у вас будут файлы на целевой странице до запуска приложения. Другим вариантом является использование SSH вместо FTP, но для этого потребуется создать учетную запись на вашем хосте, которая не запрашивает аутентификацию, потому что вы не сможете предоставить аутентификацию, используя команду "Command для выполнения перед приложением".