#java #debugging #eclipse-plugin #eclipse-rcp #remote-debugging
#java #отладка #eclipse-плагин #eclipse-rcp #удаленная отладка
Вопрос:
Я работаю над eclipse RCP, в котором есть множество встроенных плагинов. Проект встроен в установщик .exe. Мои классы плагинов находятся в обычной папке / plugins этого установленного приложения eclipse. Есть ли способ, с помощью которого я могу запустить установленное приложение eclipse в режиме отладки, подключив исходный код?
Пожалуйста, дайте мне знать, если потребуются дополнительные разъяснения.
Спасибо
Ответ №1:
Основная проблема будет заключаться в том, что вам нужно будет передать некоторые параметры в JVM, такие как:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y -jar stockTradingGUI.jar
. Подробнее читайте здесь
Поэтому, если исполняемый файл не настроен для обработки параметров и их передачи, у вас возникнут проблемы. Но если приложение основано на Eclipse RCP, вы можете запустить его через Java, выполнив что-то вроде этого;
java -jar plugins/org.eclipse.equinox.launcher_1.x.y.jar -application my.product.id -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y
Возможно, вам придется немного поэкспериментировать с точными параметрами и посмотреть в справке, если вам нужно установить больше. Но, насколько я понимаю, в приложении RCP exe-файл — это более или менее просто причудливый ярлык для запуска программы запуска.
Комментарии:
1. Привет, Фредрик — Спасибо, что поделился информацией… У меня был запрос. Что такое -application my.product.id и — баночка myJar.jar ?
2. Для «-application» вы должны ввести идентификатор, который вы дали продукту. Это можно найти в файле манифеста созданного вами плагина продукта. Второй «-jar» был ошибкой копирования / вставки с моей стороны, ответ теперь отредактирован.
3. @Fredrik- Я пробовал выше, но у меня возникли проблемы .. возможно, потому, что приложение RCP, которое я должен запустить, состоит из нескольких плагинов. Будет ли этот способ работать, если у нас есть приложение с множеством плагинов?
4. @tm.sauron Да, это будет работать. Но это довольно сложная операция. Я предлагаю вам начать с малого и убедиться, что вы все делаете правильно. Протестируйте, написав «hello world» и попробуйте выполнить удаленную отладку.