У меня есть исполняемый файл Windows, написанный на C++. Он загружает libJVM как общую библиотеку, а затем выполняет java-программу через JNI. Я хочу отладить эту программу Java, используя Eclipse IDE. Как я могу это сделать? В крайнем случае, я даже могу изменить программу на C++.Как использовать отладчик для java-программы, выполняемой jvm.dll?
1
A
ответ
2
Я думаю, вам нужно добавить параметры отладки к этому экземпляру JavaVM, который создается вашим кодом на C++.
Исходный код запуска Eclipse может вдохновить вашу работу. Посмотрите на Windows version пусковой установки и проверьте функцию startJavaJNI
(строка 305). Существует путь к библиотеке libPath
и параметры vmArgs
. Я полагаю, что vmArgs
может содержать обычную строку -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4242
среди других опций.
Вам необходимо перевести на дополнительный JavaVMOption
элемент в JavaVMInitArgs
.
Вам необходимо запустить JVM в режиме отладки и указать порт, к которому вы можете подключиться. Eclipse должен помочь вам предоставить вам параметры командной строки, которые необходимо предоставить, чтобы это произошло. Я бы настоятельно предположил, что у вас есть возможность запуска JVM без C++, но только для целей тестирования. –
Нужно ли удаленное отлаживание, начиная с программы на C++? Почему бы не запустить java-программу непосредственно в Eclipse с входящими параметрами, переданными программой C++? –