title | description | ms.date | ms.topic | ms.custom |
---|---|---|---|---|
dotnet-sos diagnostic tool - .NET CLI |
Learn how to install and use the dotnet-sos CLI tool to manage the SOS debugger extension, which is used with native debuggers on Windows and Linux. |
11/17/2020 |
reference |
linux-related-content |
This article applies to: ✔️ .NET Core 2.1 SDK and later versions
There are two ways to download and install dotnet-sos
:
-
dotnet global tool:
To install the latest release version of the
dotnet-sos
NuGet package, use the dotnet tool install command:dotnet tool install --global dotnet-sos
-
Direct download:
Download the tool executable that matches your platform:
OS Platform Windows x86 | x64 | Arm | Arm-x64 Linux x64 | Arm | Arm64 | musl-x64 | musl-Arm64
dotnet-sos [-h|--help] [options] [command]]
The dotnet-sos
global tool installs the SOS debugger extension. This extension lets you inspect managed .NET Core state from native debuggers like lldb and windbg.
Note
Installing SOS via the dotnet-sos
tool is only needed on Linux or macOS. It may also be needed on Windows if you're using older debugging tools. Recent versions of the Windows Debugger (>= version 10.0.18317.1001 of WinDbg or cdb) load SOS automatically from the Microsoft extension gallery.
-
--version
Displays version information.
-
-h|--help
Shows command-line help.
Installs the SOS extension locally for debugging .NET Core processes. On macOS and Linux, the .lldbinit file will be updated so that the extension automatically loads at lldb startup. If you're installing SOS on Windows with older debugging tools (prior to version 10.0.18317.1001), you will need to manually load the extension in WinDbg or cdb by running .load %USERPROFILE%\.dotnet\sos\sos.dll
in the debugger.
dotnet-sos install [--architecture <arch>]
-
--architecture <arch>
Specifies the processor architecture of the SOS binaries to install. By default,
dotnet-sos
installs the architecture of the host machine. Use this option when you want to install SOS for an architecture that's different from the dotnet host architecture. For example, if you're running Arm32 binaries from an Arm64 host, you will need to install SOS withdotnet-sos install --architecture Arm
.The following architectures are available:
Arm
Arm64
X86
X64
Uninstalls the SOS extension and, on Linux and macOS, removes it from lldb configuration.
dotnet-sos uninstall