Как я могу профилировать приложение JNI с помощью Eclipse TPTP?

Мне нужно профилировать Java-приложение, запускаемое API вызова JNI из приложения C, и, естественно, инструменты TPTP казались хорошим местом для начала. Однако я могу запустить приложение, но понятия не имею, как подключиться к нему для профилирования. Я понимаю, что это попадает в ведро «тупого новичка», но я действительно заблудился. Разрешите объяснить:

Я добавил параметр JVM "-XrunpiAgent:server=controlled" в параметры запуска виртуальной Java-машины.

Я добавил $ECLIPSE_HOME/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200808290100/agent_controller/lib to my LD_LIBRARY_PATH

Я использую библиотеку Sun Java 1.5.0_10 JVM

В Eclipse у меня есть проект Java, содержащий код, который я хочу профилировать. У меня нет конфигураций запуска профилирования, и я действительно не знаю, что в них нужно вводить.

На этом мои знания заканчиваются; когда я запускаю свое приложение на основе JNI, оно просто останавливается во время запуска виртуальной машины и ожидает, предположительно, подключения контроллера агента. Какие шаги мне нужно предпринять, чтобы это произошло, и получить от этого информацию?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 076
2

Ответы 2

Раньше я пробовал использовать TPTP, и у меня никогда не получалось правильно его настроить. Я мог бы порекомендовать вам попробовать профилировщик, включенный в netbeans, для подключения к вашему приложению. Я использовал его для профилирования приложения с вызовами JNI, и он мне хорошо послужил. Конечно, весь собственный код непрозрачен для профилировщика, и он только сообщает вам, сколько времени заняли сами собственные вызовы.

У меня есть запись в блоге, в которой объясняется, как профилировать приложения Eclipse с помощью netbeans, если это помогает.

Вы можете использовать профилировщик C для профилирования кода C. Его нужно скомпилировать в библиотеку, которую вы хотите профилировать, но он может быть полезен, чтобы увидеть, что делает код.

Другие вопросы по теме