Compartilhar via


Outras DLLs do Servidor de Símbolos

Se você quiser usar um método diferente para sua pesquisa de símbolos, poderá fornecer sua própria DLL de servidor de símbolos em vez de usar o SymSrv.

Definindo o caminho do símbolo

Ao implementar um servidor de símbolos diferente do SymSrv, o caminho do símbolo do depurador é definido da mesma maneira que com o SymSrv. Consulte Símbolos Públicos da Microsoft e Uso Avançado do SymSrv para obter uma explicação da sintaxe do caminho do símbolo. A única alteração que você precisa fazer é substituir a cadeia de caracteressymsrv.dll pelo nome da DLL do servidor de símbolos.

Se desejar, você estará livre para usar uma sintaxe diferente dentro dos parâmetros para indicar o uso de diferentes tecnologias, como caminhos UNC, identificadores de banco de dados SQL ou especificações da Internet.

Implementando seu próprio servidor de símbolos

Uma abordagem é usar o código que se comunica com DbgHelp para localizar os símbolos. Sempre que dbgHelp requer símbolos para um módulo recém-carregado, ele chama o servidor de símbolos para localizar os arquivos de símbolo apropriados. O servidor de símbolos localiza cada arquivo de acordo com parâmetros exclusivos, como o carimbo de data/hora ou o tamanho da imagem. O servidor retorna um caminho validado para o arquivo solicitado.

Você não deve alterar o nome real do arquivo de símbolo retornado pelo servidor de símbolos. DbgHelp armazena o nome de um arquivo de símbolo em vários locais. Portanto, o servidor deve retornar um arquivo com o mesmo nome especificado quando o símbolo foi solicitado. Essa restrição é necessária para garantir que os nomes de símbolo exibidos durante o carregamento de símbolos sejam os que o programador reconhecerá.

Restrições em vários servidores de símbolos

DbgHelp dá suporte ao uso de apenas um servidor de símbolos por vez. O caminho do símbolo pode conter várias instâncias da mesma DLL do servidor de símbolos, mas não duas DLLs de servidor de símbolos diferentes. Isso não é uma grande restrição, pois você ainda está livre para incluir várias instâncias de um servidor de símbolos no caminho do símbolo, cada uma apontando para um repositório de símbolos diferente. Mas se você quiser alternar entre duas DLLs de servidor de símbolos diferentes, precisará alterar o caminho do símbolo a cada vez.

Instalando a DLL do servidor de símbolos personalizado

Os detalhes da instalação do servidor de símbolos dependerão da sua situação. Talvez você queira configurar um processo de instalação que copie a DLL do servidor de símbolos e defina a variável de ambiente _NT_SYMBOL_PATH automaticamente.

Dependendo da tecnologia usada em seu servidor, talvez você também precise instalar ou acessar os próprios dados de símbolo.

O PDB portátil (banco de dados do programa)

O formato PDB portátil (Banco de Dados de Programas) descreve uma codificação de informações de depuração produzidas por compiladores de linguagens de CLI (Common Language Infrastructure) e consumidas por depuradores e outras ferramentas. O formato é baseado no padrão de metadados da Partição II do ECMA-335. Ele dá suporte à operação em diferentes sistemas operacionais e plataformas. Para obter mais informações, confira Símbolos PDB portáteis.

Repositórios de símbolos personalizados e servidores de símbolos

Para obter informações sobre como criar servidores de símbolo personalizados, consulte Armazenamentos de Símbolos Personalizados e Servidores de Símbolos.