MacOS El CapitanのJavaVisualVMでJUnitテストをプロファイルしようとしています。 私のJavaのバージョンは、このマシン上でそう1.8.0_45
MacOSのJava JUnitプロファイリングが機能しない
である私は次のようにします。それ は最初の実行後にVMを任せているので、Eclipseでの私のJUnitテストの実行構成を設定
。
- は私が
打ち上げ(JUnitテストとしてデバッグ)デバッグ・モードでのテストをプロファイルしたい右の部分の前に、ユニットテストのコード内にブレークポイントを設定します。これは、プロファイル]タブを開き、VisualVMの中のプロセスにブレークポイント
ダブルクリックで一時停止し、Eclipseの
RESUMの実行をプロファイリングCPUをクリックします。
この時点で、VisualVMのは確かにいくつかのCPU使用率情報を取得んが、ここに示した唯一の方法はorg.eclipse.jdt
パッケージ自体のものです。私のアプリケーションクラスの実行から情報を取得しません。私が見ることができる
出力だけは、私はJUnitのプロセスにVisualVMのをフックした後、Eclipseのコンソールに印刷された警告メッセージの束です:
objc[89393]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Profiler Agent: Waiting for connection on port 5140 (Protocol version: 15)
Profiler Agent: Established connection with the tool
Profiler Agent: Local accelerated session
Profiler Agent Warning: JVMTI classLoadHook: class name is null.
Profiler Agent Warning: JVMTI classLoadHook: class name is null.
[... many more like these ...]
Profiler Agent: Connection with agent closed
Profiler Agent: JNI OnLoad Initializing...
Profiler Agent: JNI OnLoad Initialized successfully
これはおそらく、私が調査することになってるものですが、私それをどうしたらいいのか分かりません。
私はこの同じプロセス(明らかに同じ)をWindows 10マシン上に複製して、自分のアプリケーションクラスをプロファイリングするというバグは私にあります。 Macで何が間違っているのか分かりません。
[your_package].**
に「クラスからスタートプロファイリング」を設定する必要があり、チェックを外し、「新しいランナブルプロフィール」