Eclipse VisualVM launcher'u kullanmaya çalışıyorum. Oldukça güzel görünüyor, ancak VisualVM uygulamamın herhangi bir profillemesini yapmak için çok geç olursa bir örnek oluşturuyor gibi görünüyor. Uygulamam, profiler henüz başlatılmadan önce yürütmeyi bitirir; Başladıktan sonra, bir hata penceresi açılır: cannot open requested application
. Daha sonra VM'yi Eclipse ("org.eclipse.equinox.launcher.Main" etiketli) olarak gösterir. Uygulamamı beklemeyi ve uygun bir profil oluşturmayı nasıl sağlayabilirim?VisualVM başlatıcısı hatası
cevap
Bu sorunu biliyorum. sadece yoksul adamın çözümü hep birlikte geldi geçerli:
-
bağlayın ayıklama modunda
- yılında
- Let profilcisini programınızı başlatın
- kaynak kodunda bir kesme noktası ayarlama programı
VisualVM'nin profil oluşturma aracısını VM'nize enjekte etmesi biraz zaman alıyor ve ben sadece uzak profillere izin verdiğinden eminim.
Alternatif olarak, YourKit kullanabilirsiniz, uygulamanızı en başından itibaren profilleyebilir. profilleme ajan VM başlangıçta enjekte Bu şekilde:
java -agentpath:c:\yourkit\yjpagent.dll FooClass
VisualVM onun teknik olarak mümkün beri, bu seçeneği sunmuyor neden merak ediyorum. Yine de hata ayıklama hilesi, Eclipse içinde iyi bir çözüm olduğunu düşünürsünüz, aynı zamanda sınıf yüklemesiyle ilgilenmiyorsanız bile.
Bu muhtemelen çok geç, ama aynı problemi yaşadım ve bir kesinti belirledim. hata ayıklama modu hiç yardımcı olmadı. En sonunda VisualVM geçici verilerini% TMP%/hsperfdata_ [kullanıcı adı] klasörüne kaydettiğimi öğrendim, Windows makinemde bu klasör C: \ Users \ Jacob \ AppData \ Local \ Temp \ hsperfdata_Jacob idi. Sürecin bu klasöre erişmek için yeterli izinleri olmadığı ortaya çıktı, bu yüzden izinler üzerinde rahatladım ve şimdi gayet iyi çalışıyor. Umarım bu aynı sorunu yaşayan biri için yararlıdır!
Windows'ta Eclipse'i Yönetici olarak çalıştırın.
Bu, Windows 8 için harika çalıştı. Teşekkürler Andres! –
Rica ederim. – Andres
Bu aptal bir çözümdür, ancak çalışır. İşte böyle:
Uygulamanıza sonsuz bir döngü sarıcı ekleyin, "while (true) {your_app}" deyin.
Programınız daha uzun süre çalıştığında zamanlama sesleri de dışarıda olacaktır.
- 1. VisualVM
- 2. VisualVM Eclipse Eklentisi nasıl çalıştırılır
- 3. VisualVM - CPU/Bellek örneklenemiyor
- 4. VisualVM uzak bağlantıda hata ayıklama
- 5. visualvm vs JProbe vs JProfiler
- 6. UITextView öğesinin başlatıcısı
- 7. Verilen statik başlatıcısı
- 8. Hangi başlatıcısı çalışıyor?
- 9. Java doğal başlatıcısı performansı
- 10. 'Nuget.Proxy Cache' tür başlatıcısı
- 11. MVC4 WebAPI süreci başlatıcısı
- 12. C - işleci döngü başlatıcısı içindeyken
- 13. Python & Windows: Python başlatıcısı nerede?
- 14. C# sözlüğü başlatıcısı derleme tutarsızlık
- 15. std :: map başlatıcısı liste yapıcısı
- 16. Android başlatıcısı sarıcı java etkinliği
- 17. VisualVM - Bir sınıftaki tüm başvuruları bulun
- 18. Maven Jetty eklentisi ile VisualVM profiler kullanılamıyor
- 19. VisualVM ile sorun Uzak ana bilgisayara bağlanırken
- 20. Java VisualVM CPU kullanımı ve işlemci yakınlığı
- 21. Nesne Başlatıcısı ve Dinamik olarak özelliklerini belirleme
- 22. Android başlatıcısı EGL ile OpenGL2.0 Bağlamı
- 23. Yay önyükleme başlatıcısı hibernate classpath hell
- 24. Yatay doldurma başlatıcısı ile başlangıç yastığı
- 25. Çok boyutlu dizi başlatıcısı yavaş performansı
- 26. Nunit için bir kerelik başlatma başlatıcısı
- 27. Çağrı atabilir, ancak hatalar küresel değişken başlatıcısı
- 28. Neden sınıf başlatıcısı yalnızca = veya {} kullanıyor?
- 29. En kısa satır içi koleksiyon başlatıcısı? C#
- 30. Android 4.2 önce mipmap başlatıcısı simgeleri kullanımı?
Sadece kendi kendine çalışırken Thread.sleep() yapamazdınız mı? –
@RyanAmos Bu da Debug Mode ile hile üzerinde gelmeden önce bunu yapmıştım. “Timer.sleep” ile birlikte zaman geçirmek istemedim, ya uykunuzu ya da takmayı çok uzun sürdüğünde beklemelisin. –
YourKit çok pahalı. Yardım için teşekkürler! –