2

Visual Studio で [.NET Framework ソース ステップ実行を有効にする] デバッグ オプションをオンにして、シンボル キャッシュ ディレクトリを作成しました。プロジェクトをデバッグすると、Visual Studio は「パブリック シンボルをダウンロードしています」というダイアログを作成し、参照されているモジュールを一覧表示します。これは、参照されるモジュールごとに発生します。

結果として、実際にデバッグを開始できるようになるまで数分待つことがあります。

「キャンセル」をクリックして、デバッグに直接進むことができます。次にデバッグすると、中断したところから再開されます。

私の HTTP トラフィックを見ると、すべてのモジュールについて、シンボルの referencesource.microsoft.com が参照されているようです。そのサーバーがホストするシンボル (system.dll などの Microsoft モジュール) は、シンボル キャッシュにダウンロードされます。他のシンボルは、シンボル キャッシュの "FailedLoads" フォルダーに "PDB Not Found" というテキストを含むファイルを取得します。[出力ウィンドウにソース サーバーの診断情報メッセージを出力する] がオンになっているにもかかわらず、出力ウィンドウに障害に関する情報が見つかりません。

モジュールのキャッシュまたは FailedLoads フォルダー内のファイルにシンボルが含まれると、ダイアログが再度表示されることはありません。したがって、プロセスを一度完了させることで、新しい参照が追加されるまでの遅いデバッグ起動時間に対処できます。

どうなるか色々試してみました。真の解決策を示すものは何もありませんでした。

  • 「.NET Framework ソース ステップ実行を有効にする」のチェックを外すと、問題が解決します
  • デフォルトでシンボルを自動的に読み込むか除外するように設定しても、動作は変わりません
  • 特定のモジュールをシンボルの自動読み込みに含めたり除外したりしても、そのモジュールの動作は変わりません
  • 「ソースサーバーのサポートを有効にする」またはその子オプションをオンまたはオフにしても、動作は変わりません
  • 「Microsoft Symbol Servers」シンボルの場所をオンまたはオフにしても、動作は変わりません
  • 新しいシンボルの場所を追加しても、動作は変わりません。これらの新しいシンボル サーバーで利用可能なモジュールは引き続き FailedLoads フォルダーに配置され、[パブリック シンボルのダウンロード] ダイアログ中に HTTP 要求は行われません。
  • 別の手段 (デバッグ中に別のシンボル サーバーから読み込むなど) でシンボルをシンボル キャッシュに入れると、そのモジュールの [パブリック シンボルのダウンロード] ダイアログが表示されなくなりました。

VS2013 Update 1、VS2015 Update 3、および VS2017 RC でこの問題を再現しました。興味深いことに、この問題なしで何年も VS2013 を使用していたと思います。VS2015に切り替えた頃、数か月前に始まったと思います。

これが既知のバグであるかどうか、またはこの動作を無効にしながら .NET Framework ソースのステッピングを有効にする方法があるかどうかは誰にもわかりませんか?

4

0 に答える 0