2010-12-14 10 views

Odpowiedz

9

Czy konfigurowania profili za pomocą „opcji wiersza polecenia` -Xrunjdwp Jeśli tak, to ta opcja ma "suspend" parameter tylko dla tego celu:

Prawda jeśli cel VM ma być zawieszony natychmiast przed głównym klasa jest ładowana, fałszywe inaczej

przykład z mojego własnego config.

-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 

używam tego z profiler YourKit, ale myślę, że zasada jest taka sama.

+0

Nie używam opcji Xrunjdwp, czy powinienem? domyślna wartość zawieszenia to "prawda", czy to nieprawda? – pstanton

+0

@pstanton: Nie jestem do końca pewien co do "Xrunjdwp". Sugeruję przeczytanie tego, sprawdź, czy możesz go użyć. – skaffman

+0

@pstanton: Jaka jest dokładnie używana komenda -Xrunjdwp, z której skorzystałeś? Kiedy próbuję użyć go z VisualVM, VisualVM nie jest już w stanie poprawnie połączyć się z procesem JVM. –

0

Oba popularne środowiska programistyczne Java (NetBeans/Eclipse) obsługują wykonywanie aplikacji bezpośrednio z podłączonego VisualVM. W przypadku Eclipse musisz zainstalować plugin. W przypadku NetBeans obsługa jest już zintegrowana z AFAIK.
Nawet jeśli nie masz źródeł, możesz nadal uruchamiać pliki JAR za pośrednictwem obu środowisk, a tym samym uruchomić aplikację połączoną z VisualVM.

+0

Wtyczka eclipse nie pomaga w tym. uruchamia on VVM po uruchomieniu procesu. – pstanton

17

Użyj programu uruchamiającego środowisko Eclipse i ustaw punkt przerwania w odpowiednim miejscu w metodzie głównej.

Następnie uruchom w trybie debugowania, włącz profilowanie w visualVM, a następnie wznów za pomocą eclipse.

To nie będzie profilować ładowania klas i innych rzeczy, ale jest wystarczająco dobre dla mnie.

+0

Próbowałem tego i mogę potwierdzić, że to podejście działa. – Raedwald

8

znalazłem Startup Profiler pomocne:

Uruchomienie Profiler plugin dla VisualVM 1.3.6 umożliwia oprzyrządowanie profilowanie lokalne aplikacje Java 5+ z ich uruchamiania. Jest również pomocny przy profilowaniu krótkich procesów.

+9

Ta operacja okazała się dla mnie skuteczna, ale upewnij się, że pobierasz oddzielną aplikację VisualVM i nie próbuj ponownie używać tej, która jest dołączona do JDK; z jakiegoś powodu wtyczka Startup Profiler nie jest dostępna dla podstawowej wersji JDK. – Max

Powiązane problemy