パフォーマンス ツールに関する問題のトラブルシューティングTroubleshooting Performance Tools Issues

プロファイリング ツールを使用するときに、次の問題のいずれかが発生する場合があります。You might experience one of the following issues when you use the Profiling Tools:

プロファイリング ツールでデータが収集されないNo Data is Collected by the Profiling Tools

アプリケーションのプロファイリングを実行しても、プロファイリング データ (.vsp) ファイルが作成されず、出力ウィンドウまたはコマンド ウィンドウに次の警告が表示されます。After you profile an application, a profiling data (.vsp) file is not created and you receive the following warning in the Output window or in the command window:

PRF0025: データは収集されませんでした。PRF0025: No data was collected.

この問題は、次の複数の問題が原因で発生することがあります。This problem can be caused by several issues:

  • サンプリングまたは .NET メモリ メソッドを使用してプロファイリングしたプロセスによって、子プロセスが起動されます。この子プロセスは、アプリケーションの作業を実行するプロセスになります。A process that was profiled by using the sampling or the .NET memory method starts a child process that becomes the process that performs the application work. たとえば、一部のアプリケーションでは、コマンド ラインを読み取り、Windows アプリケーションまたはコマンド ライン アプリケーションのどちらとして起動したかを決定します。For example, some applications read the command line to determine whether they were started as a Windows application or as a command-line application. Windows アプリケーションが要求された場合、元のプロセスは Windows アプリケーションとして構成された新しいプロセスを起動し、元のプロセスは終了します。If a Windows application was requested, the original process starts a new process configured as a Windows application and then the original process exits. プロファイリング ツールは子プロセスのデータを自動的に収集しないため、データは収集されません。Because the Profiling Tools do not automatically collect data for child processes, no data is collected.

    この状況でプロファイリング データを収集するには、プロファイラーでアプリケーションを起動するのではなく、子プロセスにプロファイラーをアタッチします。To collect profiling data in this situation, attach the profiler to the child process instead of starting the application with the profiler. 詳細については、「方法 : 実行中のプロセスにパフォーマンス ツールをアタッチする/実行中のプロセスからパフォーマンス ツールをデタッチする」および「Attach (VSPerfCmd)」を参照してくださいFor more information, see How to: Attach and Detach Performance Tools to Running Processes and Attach (VSPerfCmd)

パフォーマンス ビューとレポートに関数名ではなく番号が表示されるPerformance Views and Reports Display Numbers for Function Names

アプリケーションのプロファイリング後、レポートとビューに関数名ではなく番号が表示されます。After you profile an application, you see numbers instead of function names in reports and views.

この問題の原因は、ソース コード情報 (関数名や行番号) をコンパイル済みのファイルにマップするシンボル情報を含む .pdb ファイルが、プロファイリング ツールの解析エンジンによって見つけられなかったことです。This problem is caused by the Profiling Tools analysis engine being unable to find the .pdb files that contain the symbol information that maps source code information, such function names and line numbers to the compiled file. 既定では、アプリケーション ファイルのビルド時に、コンパイラによって .pdb ファイルが作成されます。By default, the compiler creates the .pdb file when the application file is built. .pdb ファイルのローカル ディレクトリへの参照は、コンパイル済みのアプリケーションに格納されます。A reference to the local directory of the .pdb file is stored in the compiled application. 解析エンジンは、参照されるディレクトリで .pdb ファイルを探し、次にアプリケーション ファイルを現在含んでいるファイルを検索します。The analysis engine looks in the referenced directory for the .pdb file and then in the file that currently contains the application file. .pdb ファイルが見つからない場合、解析エンジンは関数名ではなく関数のオフセットを使用します。If the .pdb file is not found, the analysis engine uses the function offsets instead of the function names.

この問題は、2 つの方法のいずれかで修復できます。You can fix the problem in one of two ways:

注意

解析エンジンを使用する場合、.pdb ファイルと、コンパイル済みのアプリケーション ファイルを同じバージョンにする必要があります。The analysis engine requires that the .pdb file is the same version as the compiled application file. 古いビルドまたは新しいビルドのアプリケーション ファイルの .pdb ファイルは機能しません。A .pdb file from an earlier or later build of the application file will not work.