Visual Studio 2010 を使用してソース インデックス作成をセットアップしようとしています。また、Perforce をソース コントロールとして使用して、Windows SDK (私の場合は Windows 8) から付属の perl スクリプトを使用しています。
Windows 8 SDK の
場合 C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\srcsrv
Bruce Dawsons のブログ (以下にリンク) から、古い SDK の場合は
C:\Program Files\Debugging Tools for Windows (x64)\srcsrvにある可能性があります。
私の pdb はインデックス化されており、pdb を手動で確認し、次のコマンドを実行すると、ソース ファイルが正しく抽出されます。
srctool -x test.pdb
これが Visual Studio にどのように関連付けられているかについての誤解かもしれませんが、私の問題はファイルのローカル編集に関連しています。
- ファイルを削除してデバッガを起動すると
- VS は、コマンドを実行することを確認するダイアログを表示し、ソース ファイルを適切にダウンロードして開き、デバッグを続行できます。
- 別のバージョンのファイルを編集または同期して、pdb と一致しない場合
- このダイアログが表示されず、その結果、VS に「利用可能なソースがありません」というウィンドウが表示されます。
MSDN サイトから (以下にもリンクされています):
ローカル マシンにソース コードがない場合、またはPDB ファイルがソース コードと一致しない場合、Source Server を使用してアプリケーションのデバッグに役立てることができます。
この2番目のケースでは、VSがコマンドを実行してソースを取得する必要があるようですが、うまくいかないようです。ケース #1 は期待どおりに機能していますが、これが役立つ前にケース #2 を機能させる必要があります。また、「ソース サーバーの診断を出力ウィンドウに出力する」を有効にしましたが、エラーや警告は表示されません。
この 2 番目のケースは、pdb がインデックス化されたときにソース ファイルのバージョンのダウンロードをトリガーする必要がありますか? それとも私は何かを誤解していますか?
ありがとう!
編集
これはwindbgで期待どおりに機能するため、これはVisual Studioに固有のようです
参考文献:
http://www.altdevblogaday.com/2011/11/08/source-indexing-is-underused-awesomeness/
http://msdn.microsoft.com/en-us/library/vstudio/ms242029(v= vs.100).aspx