私が知る限り、VisualVM を使用して実行中のアプリケーションのみをプロファイリングできます。
VisualVM を使用して Java アプリケーションの起動と起動をプロファイリングする方法を知っている人はいますか?
方法があるに違いないと確信しています。そうでなければ、それは大きな見落としになるでしょう。
ドキュメントを読み間違えただけだと思います。
ありがとう、p。
私が知る限り、VisualVM を使用して実行中のアプリケーションのみをプロファイリングできます。
VisualVM を使用して Java アプリケーションの起動と起動をプロファイリングする方法を知っている人はいますか?
方法があるに違いないと確信しています。そうでなければ、それは大きな見落としになるでしょう。
ドキュメントを読み間違えただけだと思います。
ありがとう、p。
Eclipseランチャーを使用して、mainメソッドの適切な場所にブレークポイントを設定します。
次に、デバッグモードで開始し、visualVMでプロファイリングを有効にしてから、Eclipseの使用を再開します。
クラスの読み込みなどのプロファイルは作成されませんが、私にとっては十分です。
「-Xrunjdwp」コマンドライン オプションを使用してプロファイリングを設定していますか? その場合、そのオプションには、まさにこの目的のための「suspend」パラメーターがあります。
メイン クラスがロードされる直前にターゲット VM が中断される場合は true。それ以外の場合は false。
私自身の設定からの例:
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
私はこれを YourKit プロファイラーで使用していますが、原理は同じだと思います。
どちらの一般的な Java 開発環境 (NetBeans/Eclipse) も、接続された VisualVM を使用したアプリケーションの直接実行をサポートしています。Eclipse の場合、プラグインをインストールする必要があります。NetBeans の場合、サポートは私の知る限り既に統合されています。
ソースがない場合でも、両方の環境を介して JAR ファイルを実行できるため、VisualVM に接続されたアプリを起動できます。