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


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

Как правило, 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. Щелкните правой кнопкой мыши виртуальный каталог Symbols и выберите Свойства.

  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). Эта попытка завершается успешно, так как файл копируется в это расположение в качестве побочных эффектов предыдущей обработки пути.