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

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

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

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

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

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

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


person Yury Rumega    schedule 16.01.2015    source источник


Ответы (2)


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

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

person Muhammad Mohsin Khan    schedule 03.11.2016

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

person Joe    schedule 16.01.2015
comment
Да, DSF Launcher работает через SSH / SFTP, который доступен. Плагин просто не предлагает нужной мне функции - person Yury Rumega; 16.01.2015