Symbol downloader (dotnet-symbol)
Este artigo aplica-se a: ✔️ SDK do .NET Core 2.1 e versões posteriores
Instalar
Para instalar a versão mais recente do dotnet-symbol
pacote NuGet, use o comando dotnet tool install :
dotnet tool install --global dotnet-symbol
Sinopse
dotnet-symbol [-h|--help] [options] <FILES>
Description
A dotnet-symbol
ferramenta global baixa arquivos (símbolos, DAC, módulos, etc.) necessários para depurar dumps e minidumps principais. Isso pode ser útil ao depurar dumps capturados em outra máquina. dotnet-symbol
pode baixar módulos e símbolos necessários para analisar o dump.
Opções
--microsoft-symbol-server
Adicione
http://msdl.microsoft.com/download/symbols
o caminho do servidor de símbolos (padrão).--server-path <symbol server path>
Adicione um servidor de símbolos ao caminho do servidor.
authenticated-server-path <pat> <server path>
Adicione um servidor de símbolos autenticado ao caminho do servidor usando um token de acesso pessoal (PAT).
--cache-directory <file cache directory>
Adiciona um diretório de cache.
--recurse-subdirectories
Processar arquivos de entrada em todos os subdiretórios.
--host-only
Baixe apenas o programa host (ou seja, dotnet) que lldb precisa para carregar dumps de núcleo.
--symbols
Baixe arquivos de símbolos (.pdb, .dbg, .dwarf).
--modules
Faça o download dos arquivos do módulo (.dll, .so, .dylib).
--debugging
Faça o download dos módulos especiais de depuração (DAC, DBI, SOS).
--windows-pdbs
Forçar o download dos PDBs do Windows quando PDBs portáteis também estiverem disponíveis.
-o, --output <output directory>
Defina o diretório de saída. Caso contrário, escreva ao lado do arquivo de entrada (padrão).
-d, --diagnostics
Habilite a saída de diagnóstico.
-h|--help
Mostra a ajuda da linha de comando.
Download de símbolos
A execução dotnet-symbol
em um arquivo de despejo irá, por padrão, baixar todos os módulos, símbolos e arquivos DAC/DBI necessários para depurar o dump, incluindo os assemblies gerenciados. Como o SOS agora pode baixar símbolos quando necessário, a maioria dos dumps de núcleo do Linux pode ser analisada usando lldb apenas com o host (dotnet) e módulos de depuração. Para obter esses arquivos necessários para diagnosticar um dump principal com lldb run:
dotnet-symbol --host-only --debugging <dump file path>
Resolver problemas
404 Não encontrado durante o download de símbolos.
O download do símbolo só é suportado para versões oficiais de tempo de execução do .NET Core adquiridas através de canais oficiais, como o site oficial e as fontes padrão nos scripts de instalação dotnet. Um erro 404 ao baixar arquivos de depuração pode indicar que o dump foi criado com um tempo de execução do .NET Core de outra fonte, como uma construída a partir do código-fonte localmente ou para uma distro Linux específica, ou de sites de comunidade como archlinux. Nesses casos, o arquivo necessário para depuração (dotnet, libcoreclr.so e libmscordaccore.so) deve ser copiado dessas fontes ou do ambiente em que o arquivo de despejo foi criado.