デフォルトでは、Windows のプロファイラーとデバッガーは、実行可能ファイルに記述されたパスで PDB ファイルを検索します。したがって、最初に行うことは、16進エディタで実行可能ファイルを開き、「.pdb」文字列を検索して、そこに記載されているファイルがディスクに存在するかどうかを確認することです。そうでない場合は、コンパイラに /Zi または /ZI オプションを指定し、リンカに /debug オプションを指定していることを確認してください。
アプリケーションの一部でシンボリック名が欠落している場合は、それらの部分が別個の動的または静的ライブラリーであるかどうか、およびそれらのデバッグ情報を生成するかどうかを確認してください。静的ライブラリの場合、デバッグ情報がリンクの途中で失われやすいため、デフォルトでは /Zi フラグがデバッグ情報を vc*.pdb ファイル (例: VS 2008 の vc90.pdb) に埋め込み、そのファイルは通常エクスポートされません。ビルド システムによって SDK に組み込まれます。静的ライブラリの場合、個人的には、デバッグ情報に /Z7 オプションを使用するのが最も便利だと思います。これは、デバッグ情報をオブジェクト ファイル自体に埋め込み、次に *.lib ファイルに埋め込み、最終的な *.exe / *.dll バイナリの PDB に伝播するためです。ファイル。