ソース ツリーを特定の最上位ディレクトリに意図的に関連付けたくないため、絶対パス情報は PDB ファイルに記録されません。デプロイ時に、ビルド マシンで使用されたのと同じ位置にソース ツリーをドロップすることはできません。
EvilTeachのソリューションは確かに望ましい効果をもたらしますが、ソース ツリーは文字通り数百のディレクトリで構成されているため、手動で入力するのはやや面倒です。また、開発者が常に複数のソース ツリーから実行している可能性があるという問題もあるため、特定の実行可能ファイルをデバッグするときにそれらのツリーを切り替えることができることが不可欠です。
その後、レジストリを直接更新することで、プログラムで (少なくともコマンド ラインから) ソース ディレクトリのセットを切り替えることができることがわかりました。
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Devstudio\6.0\Build
System\Components\Platforms\Win32 (x86)\Directories]
"Source Dirs"="<path1>;<path2>"
それはそれほど悪くはなく、確かにうまくいくでしょう.
しかし、私が解決した解決策は、SOURCE 環境変数を設定して、すべてのソース パスを (セミコロンで区切られたディレクトリのリストとして) 含むようにすることでした。非常に単純なバッチ ファイルでこれを行うことができ、異なるツリーを切り替えることができます。次に、コマンド ラインから Visual C++ を実行します。オプションを使用して、環境から SOURCE (および INCLUDE、LIB、および PATH) を読み込みます。
msdev /useenv
Tools->Options の下を見ると、SOURCE からのディレクトリが実際にロードされていることがわかります。その後、実行中のプロセスにアタッチすることができ、デバッガーはデバッグ対象のコードを見つけることができました。
生活がとても楽になりました!