Отлаживать Java-код, вызываемый через JNI

#java #java-native-interface

#java #java-native-interface

Вопрос:

У меня есть фрагмент кода, в котором я создаю виртуальную машину Java через JNI, а затем вызываю метод в файле java .class.

Как мне отладить Java-код через IDE, скажем, eclipse или Netbeans. Мой проект на c настраивается в Visual Studio, а проект Java настраивается с помощью eclipse. До сих пор я использовал журналы для отладки Java-кода.

Ответ №1:

Вам нужно использовать удаленную отладку см.http://java.dzone.com/articles/how-debug-remote-java-applicat

Комментарии:

1. Означает ли это, что на уровне JNI, где я вызываю CreateJVM, мне нужно передать «-Xdebug -Xrunjdwp:transport=dt_socket,address=<portno>,server=y» в качестве опции виртуальной машине?

2. да, это правильно. Однако в панели управления Java, на вкладке java, вы можете задать там свойства, хотя я не уверен, что настройки, которые вы там разместили, будут подобраны jvm, загруженной через jni. Вы могли бы попробовать это в первую очередь. Я не знаю, никогда не пробовал. Но то, что вы говорите, сработает.

3. Попробовал, работает следующий набор опций -Xrunjdwp: транспорт=dt_socket, адрес = 8001, сервер= y, приостановка= n