インテル® VTune™ プロファイラー・ユーザーガイド

Windows* ストア・アプリケーション・ターゲット

インテル® VTune™ プロファイラーは、[プロセスにアタッチ][システムをプロファイル] によって Windows* ストア C/C++、C#、および JavaScript* アプリケーションのハードウェア・イベントベース・サンプリング解析をサポートします。[アプリケーションを起動] モードはサポートされません。

解析を始める前に、データ収集を実行する管理者権限があることを確認してください。

Windows* ストア C# アプリケーション解析の制限事項

Microsoft Windows 8* から、すべての Windows ストア C# アプリケーションは自動的に NGEN サービスによって 24 時間で事前コンパイルされるようになりました。インテル® VTune™ プロファイラーは、これらのメソッドのシンボルが欠如しているためネイティブイメージのメソッドを解決できません。その結果、インテル® VTune™ プロファイラーで事前コンパイルされたアプリケーションをプロファイルすると、C# メソッドの代わりに [不明] という関数エントリーを表示します。Ngen.exe ツールを使用してネイティブイメージの .pdb ファイルを生成するか、次回の自動 NGEN で自動的に事前コンパイルまでこの問題を一時的に回避できます。

  1. 自動的に事前コンパイルされたアセンブリーの場所を特定します。通常 32 ビットのアセンブリーは、C:\Users\Administrator\AppData\Local\Packages\<package>\AC\Microsoft\CLR_v4.0_32\NativeImages\ に配置され、64 ビットのアセンブリーは C:\Users\Administrator\AppData\Local\Packages\<package>\AC\Microsoft\CLR_v4.0_32\NativeImages\ フォルダーに配置されます。

    <package> はアプリケーションによって異なります。パッケージを特定するには、次のいずれかのオプションを使用します。

    • タスクマネージャーを開いて、アプリケーションのプロパティーをチェックします。[全般] タブには、省略されるべきバージョンを含むパッケージの値が含まれます。例えば、[全般] タブに 47828<app_name>_1.0.0.4_neutral__sgvg9sxsmbbt4 が表示されると、NGEN で処理されたモジュールは C:\Users\Administrator\AppData\Local\Packages\47828<app_name>_sgvg9sxsmbbt4\AC\Microsoft\CLR_v4.0_32\NativeImages\ に配置されます。

    • プロセス・エクスプローラー・ツールを使用して、アプリケーションにロードされたモジュールのリストを調査し、*.ni.exe モジュールと場所を特定します。

  2. *.ni.dll または *.ni.exe を含むフォルダーの名前を変更します。例えば、C:\Users\Administrator\AppData\Local\Packages\47828<app_name>_sgvg9sxsmbbt4\AC\Microsoft\CLR_v4.0_32\NativeImages\<app_name>C:\Users\Administrator\AppData\Local\Packages\47828<app_name>_sgvg9sxsmbbt4\AC\Microsoft\CLR_v4.0_32\NativeImages\<app_name> に名前を変更します。

  3. アプリケーションを再起動します。

    CLR JIT コンパイルされたメソッド。次回の自動 NGEN 事前コンパイルまで、C# アプリケーションのプロファイルにインテル® VTune™ プロファイラーを利用できます。

    この解決方法は、.NET Framework ライブラリー (例えば、mscorlib.dll) には推奨されません。

Windows* ストア JavaScript* アプリケーション解析の制限事項

インテル® VTune™ プロファイラーは、JavaScript* モジュールとソースファイルのマッピングをサポートします。しかし、グリッドやタイムラインからソースへ移動したときに、インテル® VTune™ プロファイラーはデフォルトではパフォーマンス・クリティカルなコード行の場所を特定できません。この場合、[ソース] ペインには関数の最初の行が表示されます。ホットなコード行を切り替えるには、ナビゲーション・ボタンを使用します。

関連情報