다음을 통해 공유


획득한 기호 파일 캐싱

일반적으로 SymProxy는 IIS(인터넷 정보 서비스) 내에 지정된 디렉터리에서 획득한 파일을 연결된 웹 사이트의 가상 루트로 캐시합니다. 그런 다음 IIS는 클라이언트 디버거에서 파일을 사용할 수 있도록 합니다. 디버거는 HTTP에서 직접 파일을 열 수 없으므로 기호 경로로 지정된 로컬 캐시에 파일을 복사합니다.

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

이 예제에서 클라이언트 디버거는 파일을 c:\localcache에 복사합니다. 이와 같은 상황에서 파일은 SymProxy에 의해 웹 사이트의 가상 루트에 한 번, 디버거에서 로컬 캐시로 다시 두 번 복사됩니다.

두 번째 복사 작업을 방지하고 처리 속도를 높일 수 있습니다. 이렇게 하려면 먼저 웹 사이트의 가상 루트를 디버거에서 액세스할 수 있는 UNC 경로로 공유해야 합니다. 예를 들어 이 경로의 이름은 \\server\symbols입니다. 그런 다음 MIME 형식에 대한 IIS 구성을 제거해야 합니다.

MIME 형식에 대한 IIS 구성을 제거하려면

  1. 관리 도구에서 인터넷 정보 서비스(IIS) 관리자를 엽니다.

  2. 웹 사이트확장합니다.

  3. 기본 웹 사이트를 마우스 오른쪽 단추로 클릭합니다.

  4. 기호 가상 디렉터리를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  5. HTTP 헤더 탭을 클릭합니다.

  6. MIME 형식을 클릭합니다.

  7. 등록된 MIME 형식 레이블이 지정된 목록 상자에서 모든 형식을 선택합니다.

  8. 제거를 클릭합니다.

  9. MIME 형식 대화 상자를 종료하려면 [확인]을 클릭합니다.

  10. 기호 속성에서 나가려면 확인을 클릭합니다.

이로 인해 IIS는 웹 사이트의 모든 트랜잭션에 대해 디버깅 클라이언트에 파일을 찾을 수 없음을 반환합니다. 그러나 SymProxy가 가상 루트를 파일로 채우는 것을 방지하지는 않습니다.

MIME 형식에 대한 IIS 구성을 제거한 후 디버거 클라이언트가 HTTP 저장소에서 먼저 기호를 찾도록 구성하고 명령을 사용하여 저장소의 가상 루트에 매핑되는 공유에서 기호를 찾도록 구성합니다.

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

앞의 예제에서 기호 경로의 첫 번째 요소(srv**https://server/symbols) 는 HTTP 저장소에서 파일을 가져와서 로컬 캐시로 기본 기호 저장소에 복사하라고 말합니다. HTTP 저장소에서 파일이 수신되지 않으므로 지정된 캐시는 중요하지 않습니다. 이 오류가 발생한 후 저장소의 가상 루트(srv*\\server\symbols)의 실제 위치에서 파일을 가져오려고 시도합니다. 파일이 이전 경로 처리의 부작용으로 해당 위치에 복사되므로 이 시도가 성공합니다.