Compartilhar via


Carregando símbolos

Você pode definir as seguintes preferências de usuário no WPA (Windows Performance Analyzer):

  • Carregar Símbolos

  • Configurar caminhos de símbolo

Para alterar essas opções, abra uma gravação e selecione a opção no menu Rastreamento .

Símbolos Gerenciados

Há suporte para resoluções de símbolos e pilhas para processos gerenciados nos seguintes sistemas:

  • Com .NET Framework 4.5 ou uma versão posterior em Windows 8 ou versão posterior

  • Com .NET Framework 4.0 ou uma versão posterior em computadores x86

Quando você captura um rastreamento usando o WPR, o WPR permite que todos os provedores necessários resolve símbolos gerenciados no rastreamento. O WPR cria uma pasta ao lado do rastreamento salvo que contém arquivos PDB desses símbolos gerenciados. Quando o WPA abre o rastreamento, o WPA procura essa pasta e a adiciona automaticamente ao caminho do símbolo. Se o WPR não foi usado para gerar o rastreamento, qualquer símbolo para programas .NET Framework poderá não decodificar completamente ou decodificar.

Símbolos JavaScript

Há suporte para resolução de símbolos e pilhas para processos JavaScript em sistemas que executam o seguinte software:

  • Windows 7 junto com o Internet Explorer versão 10 ou posterior

  • Aplicativos que usam JavaScript em Windows 8

O WP permite que os provedores necessários decodificem símbolos para código JavaScript em sistemas com suporte. Os endereços do método JavaScript e os quadros de pilha serão decodificados para um nome de arquivo JavaScript, nome do método, número de linha e número de coluna.

Caminhos relativos e variáveis de ambiente inserido

As variáveis de ambiente _NT_SYMBOL_PATH e _NT_SYMCACHE_PATH podem usar caminhos relativos, caminhos absolutos, caminhos de compartilhamento de rede ou variáveis de ambiente inseridas. O WPA converte caminhos relativos em caminhos absolutos quando você define os caminhos relativos pela primeira vez. O WPA converte caminhos relativos que o WPA carrega de variáveis de ambiente quando o programa é iniciado.

O WPA converte caminhos relativos que você insere na caixa de diálogo Configurar Caminhos de Símbolo quando você fecha a caixa de diálogo. As alterações no diretório atual não afetam os caminhos relativos que você já definiu. A caixa de diálogo Configurar Caminhos de Símbolo mostra os caminhos definidos no momento quando você abre a caixa de diálogo pela primeira vez para que você possa ver a maneira como o WPA expandiu quaisquer caminhos relativos.

O WPA expande variáveis de ambiente inseridas ao mesmo tempo em que expande caminhos relativos. Como o WPA captura variáveis de ambiente quando o programa é iniciado, as alterações nas variáveis de ambiente que estão fora de uma instância atualmente em execução do WPA não aparecem nessa instância.

Outros programas que usam a variável de ambiente _NT_SYMCACHE_PATH, como WinDbg ou Microsoft Visual Studio, podem não lidar com caminhos relativos ou variáveis de ambiente inseridas da mesma maneira.

Caminho SymCache

O WPA usa arquivos SymCache para armazenar em cache informações de símbolo de arquivos de banco de dados do programa (PDB) de uma maneira compacta e fácil de acessar. Depois que o WPA preenche uma pasta SymCache com os símbolos de um rastreamento, recarregar os símbolos desse rastreamento é muito mais rápido. Se um arquivo SymCache se tornar muito grande ou não for mais necessário, você poderá excluir com segurança esse arquivo SymCache. O WPA repovoa a pasta SymCache com novos arquivos conforme necessário. Você também pode copiar arquivos SymCache para outro computador ou compartilhar os arquivos em uma rede para agilizar o carregamento de símbolos em computadores diferentes.

Se você usar a caixa de diálogo Configurar Caminhos do Símbolo para definir a variável de ambiente _NT_SYMCACHE_PATH como uma pasta que o WPA não pode acessar, o botão OK não fechará a caixa de diálogo. No entanto, você não recebe uma mensagem de erro.

Se a variável de ambiente _NT_SYMCACHE_PATH não for atribuída ou vazia, o WPA criará uma pasta SymCache na raiz da unidade que contém o arquivo executável WPA. Se a variável de ambiente _NT_SYMCACHE_PATH estiver em execução em um compartilhamento de rede, a variável criará uma pasta SymCache na raiz da unidade que contém a pasta Arquivos de Programas. Geralmente é a unidade C.

Exemplos de SymCache

O comando a seguir coloca o arquivo SymCache na pasta C:\SymCache :

C:\SymCache

O comando a seguir coloca o arquivo SymCache na pasta C:\SymCache, pesquisa a pasta \\network\SymCache em busca de símbolos e processa a variável de ambiente _NT_SYMBOL_PATH :

C:\SymCache*\\network\SymCache

Este exemplo copia todos os símbolos que o exemplo encontra na pasta \\network\SymCache na pasta C:\SymCache . Isso permite que o usuário crie uma pasta SymCache grande e copie apenas os arquivos necessários pelo usuário para um rastreamento específico na pasta designada.

Para pesquisar várias pastas alternativas do SymCache, acrescente as pastas ao caminho de pesquisa usando um separador de asterisco (*). Quando o WPA localiza um arquivo SymCache em um dos locais alternativos, o WPA copia o arquivo apenas para a primeira pasta SymCache no caminho. O WPA também coloca arquivos SymCache recém-criados na primeira pasta SymCache no caminho.

Para desabilitar a cópia e a gravação, mas ainda usar o recurso de pesquisa hierárquica, você deve deixar a primeira posição no caminho vazia, conforme mostrado no exemplo a seguir:

*\\network\SymCache

Quando você emite esse comando, o WPA pesquisa a pasta \\network\SymCache . No entanto, o WPA não copia os resultados nem grava os arquivos SymCache gerados em uma pasta diferente.

Caminho do símbolo

Para obter informações básicas sobre a variável de ambiente _NT_SYMBOL_PATH , consulte os seguintes artigos do MSDN:

O carregamento de símbolos no WPA depende dos caminhos que a variável de ambiente _NT_SYMBOL_PATH especifica (excluindo símbolos que o WPA já armazenou em cache na pasta SymCache). O WPA pesquisa os caminhos sequencialmente, começando à esquerda. No entanto, carregar símbolos de um arquivo PDB em um desses caminhos pode ser demorado, especialmente se o PDB existir em um computador remoto. Portanto, recomendamos que você coloque caminhos de rede após quaisquer caminhos locais e que use um cache PDB local para qualquer servidor de símbolo remoto. No entanto, mesmo que todos os símbolos sejam armazenados localmente, o WPA poderá ficar sem resposta durante o tempo em que carrega símbolos. O WPA retorna a um estado interativo depois de concluir o carregamento de símbolos.

Quando a variável de ambiente _NT_SYMBOL_PATH não está definida, o WPA usa o seguinte valor padrão:

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

Os ponto e vírgula (;) separe os caminhos diferentes. O primeiro caminho é o período (.). O WPA mapeia esse caminho para a pasta atual quando o WPA carrega o rastreamento. Consulte a seção Caminho do SymCache deste artigo para obter mais informações sobre como o WPA processa caminhos relativos.

O segundo caminho é o seguinte:

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

Você também deve definir o caminho do NGEN PB:

set _NT_SYMBOL_PATH=srv*C:\Symbols.NGEN;srv*https://msdl.microsoft.com/download/symbols

Quando você especifica esse caminho, o WPA baixa símbolos do servidor de símbolos públicos da Microsoft e armazena em cache os arquivos PDB na pasta \Symbols (essa pasta é relativa à pasta de instalação do Kit de Ferramentas de Desempenho do Windows).. Portanto, o WPA coloca a pasta Símbolos ao lado da pasta SymCache. No entanto, se a pasta SymCache estiver em um compartilhamento de rede, o WPA criará a pasta Símbolos na raiz da unidade que contém a pasta Arquivos de Programas. Geralmente é a unidade C.

Se você não quiser pesquisar e carregar símbolos de arquivos PDB, poderá definir a variável de ambiente _NT_SYMBOL_PATH como uma pasta local que não contém símbolos, como um ponto (.). Não deixe a variável de ambiente _NT_SYMBOL_PATH vazia. Se você deixar a variável de ambiente _NT_SYMBOL_PATH vazia, o WPA usará o padrão.

Quando o WPA abre uma gravação, o WPA procura uma pasta que tenha o mesmo nome que o rastreamento que usa a extensão .ngenpdb . Se o WPA encontrar essa pasta, o WPA acrescentará a pasta ao final da variável de ambiente _NT_SYMBOL_PATH . O WPR (Gravador de Desempenho do Windows) cria automaticamente uma pasta que contém arquivos PDB para código gerenciado que o WPR capturou durante a gravação. Por exemplo, se você abrir a gravação C:\trace.etl no WPA, o WPA procurará a pasta C:\trace.etl.ngenpdb . Se essa pasta existir, o WPA adicionará a pasta à variável de ambiente _NT_SYMBOL_PATH .

Recursos do WPA

Carregar símbolos ou configurar caminhos de símbolo

Usando o suporte do CLR 4.0 NGEN PDB

Problemas comuns de análise de In-Depth