取得したシンボル ファイルのキャッシュ

通常、SymProxy は、関連付けられた Web サイトの仮想ルートとして インターネット インフォメーション サービス (IIS) 内に指定されたディレクトリに取得したファイルをキャッシュします。 その後、IIS はそのファイルをクライアント デバッガーで利用できるようにします。 デバッガーは HTTP から直接ファイルを開くことができないため、シンボル パスで指定されたローカル キャッシュにファイルをコピーします。

srv*c:\localcache*https://server/symbols

この例では、クライアント デバッガーは c:\localcache にファイルをコピーします。 このような状況では、ファイルは、SymProxy によって Web サイトの仮想ルートにコピーされ、さらにデバッガーによってローカル キャッシュにもう 1 度コピーされます。

2 回目のコピー操作を回避し、処理を高速化することができます。 これを行うには、まず、Web サイトの仮想ルートを、デバッガーからアクセスできる UNC パスとして共有する必要があります。 たとえば、このパスの名前を \\server\symbols とします。 その後、MIME タイプの IIS 構成を削除する必要があります。

MIME タイプの IIS 構成を削除するには

  1. [管理ツール] で、[インターネット インフォメーション サービス (IIS) マネージャー] を開きます。

  2. [Web サイト] を展開します。

  3. [既定の Web サイト] を右クリックします。

  4. [シンボル] 仮想ディレクトリを右クリックし、[プロパティ] を選択します。

  5. [HTTP ヘッダー] タブをクリックします。

  6. [MIME タイプ] をクリックします。

  7. [登録済み MIME タイプ] というラベルの付いたリスト ボックスですべてのタイプを選択します。

  8. 削除 をクリックします。

  9. [MIME タイプ] ダイアログ ボックスを閉じるには、[OK] をクリックします。

  10. [シンボルのプロパティ] を終了するには、[OK] をクリックします。

これにより、IIS は、Web サイト上のすべてのトランザクションについて、デバッグ クライアントに"file not found" (ファイルがみつかりません) を返します。 ただし、SymProxy が仮想ルートにファイルが設置することは妨げません。

MIME タイプの IIS 構成を削除した後、コマンドを使用して、まず HTTP ストアとストアの仮想ルートにマッピングされた共有からシンボルを探すようにデバッガー クライアントを構成します。

srv**https://server/symbols;srv*\\server\symbols

先の例では、シンボル パスの最初の要素 (srv** https://server/symbols) は、HTTP ストアからファイルを取得し、ローカル キャッシュとして既定のシンボル ストアにコピーすることを示しています。 HTTP ストアからファイルが受信されることはないため、指定されたキャッシュは重要ではありません。 この失敗の後、ストアの仮想ルートの実際の場所 (srv*\\server\symbols) からファイルを取得しようとします。 この試行は、前のパス処理の副産物としてファイルがその場所にコピーされるため、成功します。