2016-11-02 2 views
1

У меня есть исполняемый файл Windows, написанный на C++. Он загружает libJVM как общую библиотеку, а затем выполняет java-программу через JNI. Я хочу отладить эту программу Java, используя Eclipse IDE. Как я могу это сделать? В крайнем случае, я даже могу изменить программу на C++.Как использовать отладчик для java-программы, выполняемой jvm.dll?

+1

Вам необходимо запустить JVM в режиме отладки и указать порт, к которому вы можете подключиться. Eclipse должен помочь вам предоставить вам параметры командной строки, которые необходимо предоставить, чтобы это произошло. Я бы настоятельно предположил, что у вас есть возможность запуска JVM без C++, но только для целей тестирования. –

+1

Нужно ли удаленное отлаживание, начиная с программы на C++? Почему бы не запустить java-программу непосредственно в Eclipse с входящими параметрами, переданными программой C++? –

ответ

2

Я думаю, вам нужно добавить параметры отладки к этому экземпляру JavaVM, который создается вашим кодом на C++.

Исходный код запуска Eclipse может вдохновить вашу работу. Посмотрите на Windows version пусковой установки и проверьте функцию startJavaJNI (строка 305). Существует путь к библиотеке libPath и параметры vmArgs. Я полагаю, что vmArgs может содержать обычную строку -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4242 среди других опций.

Вам необходимо перевести на дополнительный JavaVMOption элемент в JavaVMInitArgs.