インテル® VTune™ Amplifier 2018 ヘルプ
純粋な .NET アプリケーション、または .NET を呼び出すネイティブ・アプリケーション向けのパフォーマンス解析を調査します。
インテル® VTune™ Amplifier は、自動的に Visual Studio* プロジェクトのプロパティー・ページで指定されるデバッガータイプに基づくコードタイプを特定します。
インテル® VTune™ Amplifier は、解析ターゲット向けのプロファイル・モードを設定するため、この設定を引き継ぎます。次のような状況が考えられます。
[Native (ネイティブ)] モード - ネイティブコードのデータのみ収集し、データがマネージドソースに属さないとみなします。
[Managed (マネージド)] モード - すべてを収集し、ネイティブコードに属するサンプルを解決して、データがマネージドソースに属するとみなします。解析結果のコールスタックには、マネージドコードのデータのみ表示されます。
[Mixed (混在)] モード - すべてを収集して、データが適切なマネージドソースに属するとみなします。マネージドコードの呼び出しを行うネイティブ実行ファイルを解析するときは、このオプションを使用することを考慮してください。
[Auto (自動)] モード - ターゲット実行ファイルのタイプ (マネージドまたは ネイティブ) を自動検出して対応するモードに切り替えます。
純粋な .NET アプリケーションを解析する場合、インテル® VTune™ Amplifier は [Auto] モードを [Mixed] モードに変更します。
正常なモジュール解決とソース解析を行うため、.NET アプリケーションをプロファイルする前に、.NET マネージド・アセンブリーのネイティブイメージ向けのデバッグ情報が作成されていることを確認します。
ネイティブイメージ生成ツール (Ngen.exe) を使用して、.NET フレームワークからネイティブ .pdb ファイルを生成します。
インテル® VTune™ Amplifier ツールバーの [Configure Project (プロジェクトの設定)] ボタン をクリックします。
[Choose Target and Analysis Type (ターゲットと解析タイプの選択)] ウィンドウで、[Binary/Symbol Search (バイナリー/シンボル検索)] の右にあるボタンをクリックします。
[Binary/Symbol Search] ダイアログボックスに、生成されたネイティブ .pdb ファイルへのパスを追加します。
マネージドコードを呼び出すネイティブ・アプリケーションを解析する場合、インテル® VTune™ Amplifier は [Auto] モードから [Native] へ切り換え、マネージドコードのプロファイルを行いません。この場合に、ネイティブ・アプリケーションから呼び出されるマネージドコードのプロフィアイルを有効にするには、次の方法でプロファイル・モードを [Mixed] に設定します。
インテル® VTune™ Amplifier ツールバーの [Configure Project] ボタン をクリックします。
[Analysis Target (解析ターゲット)] タブがアクティブな状態で [Choose Target and Analysis Type] ウィンドウが開きます。
[Inherit settings from Visual Studio* project (Visual Studio* プロジェクトから設定を継承)] チェックボックスをオフにします。
[Managed code profiling mode (マネージドコードのプロファイル・モード)] オプションを設定します。
[Managed code profiling mode] メニューから、必要とするプロファイル・モードを選択します。
マネージドコードでは、システム全体のプロファイルはサポートされません。
インテル® VTune™ Amplifier で CoreCLR JIT プロファイルを有効にするには、手動で CoreCRL 環境変数を設定 (英語) します。
次の例では、マネージドコードを呼び出すネイティブ・アプリケーション向けに [Mixed] モードを使用します。[Call Stack Mode (コールスタック・モード)] オプションを [User/system functions (ユーザー/システム関数)] (以下でハイライトされている) に設定することで、システム ([Call Stack (コールスタック)] ペインでグレー表示される) とユーザー関数のすべてのスタックデータを提供します。
次の例では、[Native] モードを使用して、ネイティブ実行から呼び出されるマネージドコードを解析せずに (例 1 と同じ)、結果に [Unknown stack frames] として表示します。