プロファイリング ツールの問題のトラブルシューティング

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

プロファイリング ツールを使用するときに、次の問題のいずれかが発生する場合があります。

プロファイリング ツールでデータが収集されない

アプリケーションのプロファイリングを実行しても、プロファイリング データ (.vsp) ファイルが作成されず、出力ウィンドウまたはコマンド ウィンドウに次の警告が表示されます。

PRF0025: データは収集されませんでした。

この問題は、次の複数の問題が原因で発生することがあります。

  • サンプリングまたは .NET メモリ メソッドを使用してプロファイリングしたプロセスによって、子プロセスが起動されます。この子プロセスは、アプリケーションの作業を実行するプロセスになります。 たとえば、一部のアプリケーションでは、コマンド ラインを読み取り、Windows アプリケーションまたはコマンド ライン アプリケーションのどちらとして起動したかを決定します。 Windows アプリケーションが要求された場合、元のプロセスは Windows アプリケーションとして構成された新しいプロセスを起動し、元のプロセスは終了します。 プロファイリング ツールは子プロセスのデータを自動的に収集しないため、データは収集されません。

    この状況でプロファイリング データを収集するには、プロファイラーでアプリケーションを起動するのではなく、子プロセスにプロファイラーをアタッチします。 詳細については、「方法 : 実行中のプロセスにプロファイラーをアタッチする\/実行中のプロセスからプロファイラーをデタッチする」および「Attach (VSPerfCmd)」を参照してください。

パフォーマンス ビューとレポートに関数名ではなく番号が表示される

アプリケーションのプロファイリング後、レポートとビューに関数名ではなく番号が表示されます。

この問題の原因は、ソース コード情報 (関数名や行番号) をコンパイル済みのファイルにマップするシンボル情報を含む .pdb ファイルが、プロファイリング ツールの分析エンジンによって見つけられなかったことです。 既定では、アプリケーション ファイルのビルド時に .pdb ファイルが作成されます。 .pdb ファイルのローカル ディレクトリへの参照は、コンパイル済みのアプリケーションに格納されます。 分析エンジンは、.pdb ファイルについて参照されるディレクトリを検索し、次に現在アプリケーション ファイルなどのファイルのディレクトリを検索します。 .pdb ファイルが見つからない場合、分析エンジンは関数名ではなく関数のオフセットを使用します。

この問題は、2 つの方法のいずれかで修復できます。

注意

分析エンジンを使用する場合、.pdb ファイルと、コンパイル済みのアプリケーション ファイルを同じバージョンにする必要があります。 古いビルドまたは新しいビルドのアプリケーション ファイルの .pdb ファイルでは機能しません。