Symbol downloader (dotnet-symbol)
This article applies to: ✔️ .NET Core 2.1 SDK and later versions
Install
To install the latest release version of the dotnet-symbol
NuGet package, use the dotnet tool install command:
dotnet tool install --global dotnet-symbol
Synopsis
dotnet-symbol [-h|--help] [options] <FILES>
Description
The dotnet-symbol
global tool downloads files (symbols, DAC, modules, etc.) needed for debugging core dumps and minidumps. This can be useful when debugging dumps captured on another machine. dotnet-symbol
can download modules and symbols needed to analyze the dump.
Options
--microsoft-symbol-server
Add
http://msdl.microsoft.com/download/symbols
symbol server path (default).--server-path <symbol server path>
Add a symbol server to the server path.
authenticated-server-path <pat> <server path>
Add an authenticated symbol server to the server path using a personal access token (PAT).
--cache-directory <file cache directory>
Adds a cache directory.
--recurse-subdirectories
Process input files in all subdirectories.
--host-only
Download only the host program (that is, dotnet) that lldb needs for loading core dumps.
--symbols
Download symbol files (.pdb, .dbg, .dwarf).
--modules
Download the module files (.dll, .so, .dylib).
--debugging
Download the special debugging modules (DAC, DBI, SOS).
--windows-pdbs
Force the downloading of the Windows PDBs when Portable PDBs are also available.
-o, --output <output directory>
Set the output directory. Otherwise, write next to the input file (default).
-d, --diagnostics
Enable diagnostic output.
-h|--help
Shows command-line help.
Download symbols
Running dotnet-symbol
against a dump file will, by default, download all the modules, symbols, and DAC/DBI files needed to debug the dump including the managed assemblies. Because SOS can now download symbols when needed, most Linux core dumps can be analyzed using lldb with only the host (dotnet) and debugging modules. To get these files necessary for diagnosing a core dump with lldb run:
dotnet-symbol --host-only --debugging <dump file path>
Troubleshoot
404 Not Found while downloading symbols.
Symbol download is only supported for official .NET Core runtime versions acquired through official channels such as the official web site and the default sources in the dotnet installation scripts. A 404 error while downloading debugging files may indicate that the dump was created with a .NET Core runtime from another source, such as one built from source locally or for a particular Linux distro, or from community sites like archlinux. In such cases, file necessary for debugging (dotnet, libcoreclr.so, and libmscordaccore.so) should be copied from those sources or from the environment the dump file was created in.