Servidor de símbolos e firewalls da Internet

Alguns sistemas usam firewalls da Internet ou servidores proxy que exigem autenticação para todo o tráfego da Internet. As versões anteriores do servidor de símbolos não podiam acessar símbolos da Internet, a menos que o sistema usasse um cliente de firewall que manipulasse a autenticação de forma transparente.

A partir do Dbghelp 6.1, o servidor de símbolos oferece suporte a servidores proxy que exigem essa autenticação. O servidor de símbolos usa qualquer servidor configurado como padrão nas configurações de LAN do computador. Para localizar isso, abra o item Opções da Internet no Painel de Controle, clique na guia Conexões e clique em Configurações da LAN. Isso também pode ser feito no Internet Explorer clicando em Opções da Internet no menu Ferramentas. O servidor de símbolos foi testado em muitas marcas de servidores proxy usando métodos básicos e de resposta de desafio de autenticação.

Para definir um servidor proxy específico para o servidor de símbolos usar, defina a variável de ambiente _NT_SYMBOL_PROXY como o nome (ou endereço IP) do servidor proxy, seguido pelo número da porta. Separe os dois valores com dois pontos. Por exemplo:

Definir _NT_SYMBOL_PROXY=MyProxyServer:80

Ao usar o depurador windbg, configure o caminho do símbolo para apontar para o repositório de símbolos que você deseja usar. A única diferença é que o sistema exibirá uma caixa de diálogo na qual você precisa inserir seu ID de usuário e senha para passar para o servidor proxy. Se você inserir informações incorretas, a caixa de diálogo será exibida novamente. Se você clicar no botão Cancelar , a caixa de diálogo será descartada e o servidor de símbolos será desabilitado para uso pela Internet.

Ao usar as versões mais recentes do cdb.exe ou ntsd.exe, essa funcionalidade é desativada por padrão. No entanto, você pode habilitar ou desabilitar essa funcionalidade usando o comando de extensão !sym da seguinte maneira:

  • Para ativar a solicitação de ID de usuário e senha: !sym prompts.
  • Para desativar a solicitação de ID de usuário e senha: !sym prompts.

Se você ativar o prompt, precisará recarregar símbolos com o comando .reload.

A API DbgHelp foi expandida para oferecer suporte a essas alterações. A função SymbolServerSetOptions oferece suporte à opção SSRVOPT_PROXY. Se o parâmetro de dados for NULL, o proxy padrão definido em Opções da Internet será usado. Caso contrário, uma cadeia de caracteres terminada em zero é passada especificando o nome e o número da porta do servidor proxy. O nome e a porta são separados por dois pontos da seguinte maneira: myproxyserver:80. A função SymSetOptions suporta a opção SYMOPT_NO_PROMPTS. Isso desativa todos os pedidos de validação do servidor de símbolos.