Używam VisualVM do profilowania prostej aplikacji Java. Po dwukrotnym kliknięciu metody w okienku profilowania (mając nadzieję na uzyskanie bardziej szczegółowych informacji), pojawia się komunikat "Brak źródła dla klasy ....". Wiem, gdzie jest źródło. Jak mogę powiedzieć VisualVM, gdzie szukać?Jak mogę powiedzieć visualvm, gdzie znaleźć mój kod źródłowy?
Odpowiedz
Zrobiłem zrzut stosu procesu VisualVM podczas wyświetlania tego okna dialogowego błędu i wydaje się, że problem leży w klasie org.netbeans.modules.profiler.api.GoToSource, w metodzie openSourceImpl
.
Ta metoda próbuje załadować źródło przy użyciu dowolnej zarejestrowanej implementacji interfejsu dostawcy usług GoToSourceProvider
i wyświetla komunikat o błędzie, jeśli żadnemu z nich nie uda się wyświetlić kodu źródłowego.
Domyślam się, że obecna, domyślna wersja VisualVM nie ma zarejestrowanego GoToSourceProviders
, a zatem zawsze nie uda się wyszukać kodu źródłowego.
Z nazwy pakietu wynika, że GoToSourceProvider
jest SPI dla modułu profilera, ale nie udało mi się znaleźć żadnej dokumentacji dotyczącej implementacji tego interfejsu SPI i nie wydaje się być częścią VisualVM punkty rozszerzenia.
Szkoda, że nie możemy całkowicie sprofilować kodu Java w VisualVM !!! – ady
Wygląda na to, że jest to niedopatrzenie podczas wycinania profilera z Netbeans, aby uzyskać samodzielną VisualVM. –
Witam, coś takiego praktycznie jak VisualVM jest zaimplementowane w NetBeans IDE (używam wersji 8.0.2). Po prostu kliknij Profile->Project Profile
. Po kliknięciu wyświetla się kod źródłowy. Ale niestety nie ma bardziej szczegółowych informacji, które linie kodu zajmują najwięcej czasu.
Do tego będę modyfikować kod i będę liczyć ręcznie za pomocą
long beg = System.nanoTime()
lineISuspect
sum += System.nanoTime() - beg;
- 1. Gdzie mogę znaleźć kod źródłowy gitk?
- 2. Gdzie mogę znaleźć kod źródłowy dla WebMatrix.WebData.WebSecurity
- 3. Gdzie mogę pobrać kod źródłowy "OpenGL"?
- 4. Skąd mogę znaleźć kod źródłowy polecenia cp?
- 5. Jak chronić mój kod źródłowy po wdrożeniu?
- 6. Jak mogę powiedzieć, że mój kod działa w trybie Mono?
- 7. Gdzie mogę znaleźć mój identyfikator aplikacji Yahoo?
- 8. Gdzie można znaleźć kod źródłowy Java 6 JSSE/JCE?
- 9. Gdzie znajduje się kod źródłowy ConstraintLayout?
- 10. Gdzie mogę pobrać kod źródłowy do Biblioteki Standardowej GNU C++?
- 11. Gdzie mogę zobaczyć kod źródłowy glassfish w Internecie
- 12. Gdzie jest kod źródłowy kompilatora java?
- 13. gdzie działa kod źródłowy rake'ów: prekompilacja?
- 14. Gdzie `multirust` instaluje kod źródłowy języka Rust?
- 15. Gdzie mogę znaleźć kod źródłowy dla metod JavaScript, takich jak hasOwnProperty, w Node.js?
- 16. Dlaczego wyświetlany jest mój kod źródłowy PHP?
- 17. Gdzie mogę uzyskać kod źródłowy kalendarza Androida 1.5 i 1.6?
- 18. Znaleźć sposób na kod źródłowy chromu
- 19. Jak mogę powiedzieć altówce, gdzie zainstalować pakiety?
- 20. Kod źródłowy API Java
- 21. Gdzie mogę znaleźć kod źródłowy dla "natywnych" metod w bibliotece Java?
- 22. Gdzie mogę znaleźć kod źródłowy wtyczki Android Development Tools (ADT) dla Eclipse IDE?
- 23. Gdzie zacząć czytać kod źródłowy SQLite?
- 24. Gdzie jest kod źródłowy gnu lib (libm)
- 25. gdzie jest kod źródłowy C++ filt?
- 26. Jak mogę automatycznie uporządkować kod źródłowy Perla?
- 27. Jak mogę indeksować nasz wewnętrzny kod źródłowy?
- 28. Gdzie jest mój niestandardowy kod aplikacji Django?
- 29. Jak zmusić IntelliJ do wkroczenia tylko w mój kod źródłowy?
- 30. Ruby, kod źródłowy Splat?
tylko przypuszczenie, ale co, jeśli umieścić pliki .java obok .class plików na ścieżce klasy? A jeśli są w słoiku, połącz źródło i klasy, aby były obok siebie. –
Próbowałem dodać pliki .java do mojego głównego pliku .jar obok plików .class, ale to nie pomogło. –