Compartilhar via


SymProxy

Você pode configurar seu repositório de símbolos baseado em HTTP para atuar como um proxy entre computadores cliente e outros repositórios de símbolos. A implementação é por meio de um filtro ISAPI (Internet Server Application Programming Interface) chamado SymProxy (Symproxy.dll). O servidor SymProxy pode ser usado como um computador de gateway para a Internet ou outras fontes na rede da sua empresa. O diagrama a seguir mostra um exemplo de configuração do SymProxy.

Diagrama mostrando um exemplo de configuração do SymProxy.

SymProxy é útil em muitas situações. Por exemplo:

  • Você está depurando muitos sistemas em um ambiente de laboratório no qual os computadores não estão anexados à rede da empresa, mas os símbolos são armazenados na rede e devem ser acessados usando a IWA (Autenticação Integrada do Windows).

  • Seu ambiente de computação corporativa inclui um firewall que impede o acesso à Internet de computadores que estão depurando e você deve obter símbolos de um site da Web.

  • Você deseja apresentar um único caminho de símbolo para todos os usuários em sua empresa para que eles não precisem saber ou se preocupar com onde os símbolos estão localizados e você pode adicionar novos repositórios de símbolos sem intervenção do usuário.

  • Você tem um site remoto que está fisicamente longe do restante dos recursos da sua empresa e o acesso à rede é lento. Esse sistema pode ser usado para adquirir símbolos e armazená-los em cache no site remoto.

Para instalar o SymProxy, você deve copiar manualmente os arquivos para o local correto, configurar o registro, escolher credenciais de segurança de rede e configurar o IIS (Serviços de Informações da Internet). Para garantir que o repositório de símbolos HTTP esteja configurado corretamente, consulte repositórios de símbolos HTTP.

Considerações sobre o desempenho de múltiplos servidores de símbolos

Cada Diretório Virtual pode ser associado a vários repositórios de símbolos (upstream). Cada repositório de símbolos é consultado independentemente. Para obter desempenho, os servidores SMB locais devem ser processados antes dos servidores HTTP da Internet. Ao contrário de um caminho de símbolo do depurador, vários repositórios de símbolos HTTP podem ser especificados no caminho de símbolos do SymProxy. Há suporte para no máximo 10 entradas por Diretório Virtual.

Caminho de símbolos do SymProxy

O SymProxy divide o valor do caminho do símbolo (definido pelo registro) em entradas individuais e usa cada entrada para gerar um caminho de símbolo com base em SRV* para recuperar o arquivo. Ele usa a pasta do Diretório Virtual como repositório downstream em cada uma das consultas – na verdade, mesclando os repositórios upstream em um único repositório de símbolos downstream.

O caminho do símbolo (gerado) usado pelo SymProxy é equivalente a este:

SRV*<Virtual Directory Folder>*<SymbolPath Entry #N>

Neste exemplo, um caminho UNC e dois caminhos HTTP são associados a um Diretório Virtual para mesclar os símbolos de um servidor de símbolos corporativo, da Microsoft e de um terceiro (Contoso). O SymbolPath SymProxy seria definido da seguinte maneira:

\\MainOffice\Symbols;https://msdl.microsoft.com/download/symbols;
https://symbols.contoso.com/symbols

O compartilhamento de arquivo do Símbolo do Office Principal é consultado primeiro usando um caminho de símbolo (gerado) de:

SRV*D:\SymStore\Symbols*\\MainOffice\Symbols

Se o arquivo de símbolo não for encontrado, o Microsoft Symbol Store será consultado usando um caminho de símbolo (gerado) de:

SRV*D:\SymStore\Symbols*https://msdl.microsoft.com/download/symbols

Se o arquivo ainda não for encontrado, o repositório de símbolos da Contoso (https://symbols.contoso.com/symbols) será consultado usando um caminho de símbolo (gerado) de:

SRV*D:\SymStore\Symbols*https://symbols.contoso.com/symbols

Esta seção inclui:

instalando o SymProxy

configurar o registro

escolhendo credenciais de segurança de rede

configurando o IIS para symProxy

Configurando Listas de Exclusão

Lidar com armazenamentos de símbolos indisponíveis

Tratar ponteiros de arquivo

Armazenar em cache arquivos de símbolo adquiridos