Поделиться через


Кэширование полученных файлов символов

Как правило, SymProxy кэширует файлы, которые он получает в каталоге, указанном в службах IIS, в качестве виртуального корневого каталога для связанного веб-сайта. Затем IIS делает файл доступным для отладчика клиента. Так как отладчик не может открыть файл непосредственно из HTTP, он копирует файл в локальный кэш, указанный путем символа:

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

В этом примере отладчик клиента копирует файл в c:\localcache. В такой ситуации файл копируется дважды — один раз SymProxy в виртуальный корневой каталог веб-сайта и снова отладчиком в локальный кэш.

Можно избежать второй операции копирования и ускорить обработку. Для этого необходимо сначала предоставить виртуальный корневой каталог веб-сайта в качестве UNC-пути, к которому можно получить доступ отладчикам. Для примера этот путь называется \\server\symbols. Затем необходимо удалить конфигурацию IIS для типов MIME:

Удаление конфигурации IIS для типов MIME

  1. В Административные инструменты откройте Диспетчер интернет-информационных служб (IIS).

  2. Разверните веб-сайты .

  3. Щелкните правой кнопкой мыши веб-сайт по умолчанию.

  4. Щелкните правой кнопкой мыши виртуальный каталог "Символы" и выберите "Свойства".

  5. Нажмите на вкладку заголовки HTTP.

  6. Щелкните Типы MIME .

  7. Выберите все типы в списке зарегистрированные типы MIME.

  8. Нажмите кнопку "Удалить ".

  9. Чтобы выйти из диалогового окна "Типы MIME" , нажмите кнопку "ОК".

  10. Чтобы выйти из Свойства символов, нажмите кнопку ОК.

Это заставляет IIS возвращать файл не найден отладочному клиенту для всех операций на веб-сайте. Однако это не мешает SymProxy заполнить виртуальный корень файлом.

После удаления конфигурации IIS для типов MIME настройте клиенты отладчика для поиска символов сначала в хранилище HTTP и в общей папке, которая сопоставляется с виртуальным корнем хранилища с помощью команды:

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

В предыдущем примере первый элемент пути символов (srv**https://server/symbols)) указывает получить файлы из хранилища HTTP и скопировать их в хранилище символов по умолчанию для использования в качестве локального кэша. Указанный кэш не имеет значения, так как файл никогда не получен из хранилища HTTP. После этого сбоя он пытается получить файл из фактического расположения виртуального корневого каталога хранилища (srv*\\server\symbols). Эта попытка завершается успешно, так как файл копируется в это расположение как следствие предыдущей обработки пути.