VisualVM launcher Fehler
Ich versuche, die VisualVM Eclipse launcher. Es scheint ziemlich nett, außer, dass es scheint, um zu laichen eine Instanz, wenn VisualVM zu spät, um zu tun, jede Profilierung von meiner Anwendung. Meine Anwendung die Ausführung beendet, bevor der profiler ist auch initialisiert wird; sobald es startet, wird ein Fehler-Fenster erscheint, nämlich: cannot open requested application
. Es zeigt dann die VM läuft Eclipse (mit der Bezeichnung "org.eclipse.equinox.launcher.Main"). Wie bekomme ich es zu warten, für meine Anwendung, und führen Sie die richtige profiling?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, dass problem. Der einzige Arme Mann ist Lösung ich habe immer kam ist:
Es dauert nur ein bisschen Zeit für VisualVM zu injizieren, die profiling-agent in Ihrer VM und ich bin mir ziemlich sicher, dass es erlaubt, nur das remote-profiling.
Als alternative könnten Sie YourKit, es können Profil-Ihre Anwendung von Anfang an. Diese Art des profiling agent injiziert wird, auf VM startup:
Ich bin neugierig, warum VisualVM bietet diese Möglichkeit nicht, da Ihr technisch möglich. Trotzdem denke ich, dass die debug-trick ist eine gute Lösung in Eclipse, es sei denn, Sie sind auch daran interessiert, das laden von Klassen etc.
Timer.sleep
entweder Ihr warten, bissleep
nachlässt oder das anbringen dauert zu lange.Dies ist wahrscheinlich zu spät, aber ich hatte das gleiche problem, und festlegen Sie einen Haltepunkt und starten Sie dann im debugging-Modus überhaupt nicht hilfreich. Ich fand schließlich heraus, dass VisualVM speichert seine temporären Daten in den Ordner %TMP%/hsperfdata_[username], auf meinem Windows-Rechner, der Ordner war C:\Users\Jacob\AppData\Local\Temp\hsperfdata_Jacob zum Beispiel. Es stellte sich heraus, dass der Prozess nicht über ausreichende Berechtigungen, um auf diesem Ordner zuzugreifen, so dass ich entspannt die Berechtigungen auf es und jetzt funktioniert es Prima. Hoffe, dies ist nützlich für jemanden mit dem gleichen problem!
Unter Windows, starten Sie Eclipse als Administrator.
Dies ist eine dumme Lösung, aber funktioniert. Hier geht es:
Hinzufügen einer Endlosschleife wrapper zu Ihrer Anwendung, sagen Sie "while(true) { your_app }".
Timing Geräusche wird auch selbst aus, wie dein Programm läuft mehr.