Java JVMTI nie działa wraz z -Xdebug -Xrunjdwp

Ostatnie 4 godziny spędziłem próbując skonfigurować profilowanie pamięci TPTP Eclipse na instancji Tomcat, która musi być uruchamiana zdalnie (tj. Nie w Eclipse). Powinno to być możliwe zgodnie z dokumentami TPTP i Agent Controller.

Zainstalowałem komponenty TPTP (4.6.0) w moim środowisku Eclipse (Galileo) wraz z Agent Controller zgodnie z instrukcjami na stronie internetowej. Aby włączyć agenta, dodałem następujące opcje do wiersza polecenia, który uruchamia instancję Tomcat:

-agentlib:JPIBootLoader=JPIAgent:server=enabled;HeapProf:allocsites=true

i dodałem następujące katalogi z przodu PATH:

D:\dev\tools\ac\plugins\org.eclipse.tptp.javaprofiler
D:\dev\tools\ac\bin

Podczas próby uruchomienia Tomcat I konsekwentnie otrzymałem następujący komunikat o błędzie:

ERROR: JDWP unable to get necessary JVMTI capabilities. ["debugInit.c",L279]

Zrobiłem dużo Googlingu, ale nie znalazłem nic odpowiedniego; Próbowałem ponownie zainstalować TPTP i różne wersje kontrolera agenta.

Ostatecznie okazało się, że uruchamiałem Tomcat z opcją „jpda”, którą catalina.bat tłumaczy na

-Xdebug -Xrunjdwp:transport=.....

Usunięcie argumentu polecenia „jpda” spowodowało, że JVMTI zaczęło działać.

Tak, pytanie brzmi: nic nie znalazłem podczas żadnego z moich poszukiwań, aby wskazać, że agent JVMTI jest niekompatybilny z debugowaniem. Czy ktoś może wyjaśnić, co się dzieje i dlaczego JVMTI + JDWP nie jest poprawną konfiguracją?

questionAnswers(3)

yourAnswerToTheQuestion