Как я могу использовать Eclipse для отладки кода Java, работающего внутри моей собственной JVM, созданной на C ++? У меня есть собственное приложение, которое выполняет следующие функции:
JavaVM *javaVM;
JNIEnv *jniEnv;
long flag = JNI_CreateJavaVM(&javaVM, (void**) &jniEnv, &vmArgs);
jclass jcls = env->FindClass("my/namespace/Demo");
// then run code
[...]
Оттуда я запускаю часть своего Java-кода. Очень важно, чтобы у меня была полноценная среда Eclipse и отладчик, чтобы я мог ежедневно писать и отлаживать свой Java-код в хороших условиях.
У меня следующий вопрос: как я могу все настроить?
Например, в Windows с Visual Studio я могу:
- создать виртуальную машину .NET из приложения C ++
- напишите код C # для запуска с этой виртуальной машины.
- для отладки моего кода C #, который будет размещен в DLL (очевидно, не в JAR), мне просто нужно указать, что отладчик должен запускать исполняемый файл приложения C ++. Точки останова C # будут достигнуты автоматически, когда я начну отладку. Я также могу использовать
::DebugBreak()
средства (или эквиваленты C #).
Единственное, что я обнаружил, что отдаленно похоже на мой вопрос, это
Отладка приложения Java без запуска JVM с помощью отладки аргументы
а вопрос 9 лет.
Лучший,
MF
NB: обратите внимание, что я НЕ пытаюсь отлаживать код JNI C ++, который запускается из приложения Java. Я добавляю тег jni
в свой вопрос, так как подозреваю, что здесь могут помочь сотрудники JNI.