Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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-serverAdd
http://msdl.microsoft.com/download/symbolssymbol 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-subdirectoriesProcess input files in all subdirectories.
--host-onlyDownload only the host program (that is, dotnet) that lldb needs for loading core dumps.
--symbolsDownload symbol files (.pdb, .dbg, .dwarf).
--modulesDownload the module files (.dll, .so, .dylib).
--debuggingDownload the special debugging modules (DAC, DBI, SOS).
--windows-pdbsForce 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, --diagnosticsEnable diagnostic output.
-h|--helpShows 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.