Compartilhar via


Ferramenta de download de símbolo (dotnet-symbol)

Este artigo se aplica ao: ✔️ SDK do .NET Core 2.1 e versões posteriores

Instalar

Para instalar a versão mais recente do pacote NuGet dotnet-symbol, use o comando dotnet tool install:

dotnet tool install --global dotnet-symbol

Sinopse

dotnet-symbol [-h|--help] [options] <FILES>

Descrição

A ferramenta global dotnet-symbol baixa os arquivos (símbolos, DAC, módulos etc.) necessários para depuração de despejos e minidespejos de núcleo. Isso pode ser útil ao depurar despejos capturados em outro computador. dotnet-symbol pode baixar os módulos e os símbolos necessários para analisar o despejo.

Opções

  • --microsoft-symbol-server

    Adicionar o caminho do servidor de símbolos http://msdl.microsoft.com/download/symbols (padrão).

  • --server-path <symbol server path>

    Adicionar um servidor de símbolos ao caminho do servidor.

  • authenticated-server-path <pat> <server path>

    Adicionar um servidor de símbolos autenticado ao caminho do servidor usando um PAT (token de acesso pessoal).

  • --cache-directory <file cache directory>

    Adiciona um diretório de cache.

  • --recurse-subdirectories

    Processar arquivos de entrada em todos os subdiretórios.

  • --host-only

    Baixar apenas o programa host (ou seja, o dotnet) que o lldb precisa para carregar despejos de núcleo.

  • --symbols

    Baixar os arquivos de símbolo (.pdb, .dbg, .dwarf).

  • --modules

    Baixar os arquivos do módulo (.dll, .so, .dylib).

  • --debugging

    Baixar os módulos especiais de depuração (DAC, DBI, SOS).

  • --windows-pdbs

    Forçar o download dos PDBs do Windows quando os PDBs portáteis também estiverem disponíveis.

  • -o, --output <output directory>

    Definir o diretório de saída. Caso contrário, escrever ao lado do arquivo de entrada (padrão).

  • -d, --diagnostics

    Habilitar a saída de diagnóstico.

  • -h|--help

    Mostra a ajuda da linha de comando.

Baixar símbolos

A execução de dotnet-symbol em um arquivo de despejo baixa por padrão todos os módulos, símbolos e arquivos DAC/DBI necessários para depurar o despejo, incluindo os assemblies gerenciados. Como o SOS agora pode baixar símbolos quando necessário, a maioria dos despejos de núcleo do Linux pode ser analisada usando o lldb apenas com o host (dotnet) e os módulos de depuração. Para obter esses arquivos necessários para diagnosticar um despejo de núcleo com o lldb execute:

dotnet-symbol --host-only --debugging <dump file path>

Solucionar problemas

  • Erro 404 Não Encontrado durante o download de símbolos.

    O download de símbolos só é compatível com as versões oficiais do runtime do .NET Core adquiridas por meio de canais oficiais, como o site oficial e as origens padrão nos scripts de instalação do dotnet. Um erro 404 ao baixar arquivos de depuração pode indicar que o despejo foi criado com um runtime do .NET Core de outra origem, por exemplo, uma origem local ou para uma distribuição específica do Linux ou de sites da comunidade como o archlinux. Nesses casos, o arquivo necessário para depuração (dotnet, libcoreclr.so e libmscordaccore.so) deve ser copiado dessas origens ou do ambiente em que o arquivo de despejo foi criado.

Confira também