2010-12-14 8 views

Antwort

9

setzen Sie die Profilerstellung mit der `-Xrunjdwp“ Befehlszeilenoption bis Wenn ja, diese Option eines "suspend" parameter zu eben diesem Zweck hat:

Wahr, wenn die Ziel-VM ist sofort ausgesetzt werden bevor die Hauptklasse geladen wird, andernfalls false

Beispiel aus meiner eigenen config:.

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

ich benutze diese mit der YourKit-Profiler, aber ich denke, das Prinzip ist das gleiche.

+0

ich benutze nicht die Xrunjdwp Option, sollte ich sein? Der Standardwert für Suspend ist 'wahr', ist das nicht korrekt? – pstanton

+0

@pstanton: Ich bin nicht wirklich sicher über die Whats-and-Where von 'Xrunjdwp'. Ich schlage vor, es zu lesen, sehen Sie, ob Sie es verwenden können. – skaffman

+0

@pstanton: Was ist der genaue -Xrunjdwp Befehl, den du benutzt hast? Wenn ich versuche, es mit VisualVM zu verwenden, kann VisualVM nicht mehr ordnungsgemäß mit dem JVM-Prozess verbinden. –

0

Beide gängigen Java-Entwicklungsumgebungen (NetBeans/Eclipse) unterstützen die Ausführung von Anwendungen direkt mit VisualVM. Im Falle von Eclipse müssen Sie eine plugin installieren. Im Falle von NetBeans ist der Support bereits in AFAIK integriert.
Auch wenn die Quellen nicht vorhanden sind, können Sie die JAR-Datei (en) dennoch über beide Umgebungen ausführen und daher Ihre App mit VisualVM verbunden starten.

+0

hilft das Eclipse-Plugin nicht dabei. Es startet nur VVM, wenn Sie einen Prozess starten. – pstanton

17

Verwenden Sie das Eclipse-Startprogramm, und legen Sie einen Haltepunkt an einer geeigneten Stelle in der Hauptmethode fest.

Starten Sie dann im Debug-Modus, aktivieren Sie die Profilerstellung in VisualVM und fahren Sie dann mit der Verwendung von Eclipse fort.

Das wird Klassenlade und Zeug nicht profilieren, aber es ist gut genug für mich.

+0

Ich habe es versucht und kann bestätigen, dass dieser Ansatz funktioniert. – Raedwald

8

fand ich Startup Profiler hilfreich:

Startup Profiler-Plugin für VisualVM 1.3.6 Profilierung der lokalen Java 5+ Anwendungen von ihrer Inbetriebnahme instrumentiert ermöglicht. Es ist auch hilfreich beim Profiling von kurz laufenden Prozessen.

+9

Dies endete für mich arbeiten, aber stellen Sie sicher, dass Sie die separate VisualVM-Anwendung herunterladen und nicht versuchen, die eine, die mit dem JDK kommt; Aus irgendeinem Grund ist das Startup Profiler-Plug-in für die JDK-Bestandsversion nicht verfügbar. – Max