Update the tools version to 1.0.3-preview5.19251.2.
pages based on your OS. There is no cross-building across OS (only for ARM, which is built on X64).
You have to be on the particular platform to build that platform.
-To install the platform's prerequisites:
+To install the platform's prerequisites and build:
* [Windows Instructions](documentation/building/windows-instructions.md)
* [Linux Instructions](documentation/building/linux-instructions.md)
* [FreeBSD Instructions](documentation/building/freebsd-instructions.md)
* [NetBSD Instructions](documentation/building/netbsd-instructions.md)
-To build under Windows, run build.cmd from the root of the repository:
-
-```bat
-build.cmd
-
-[Lots of build spew]
-
-BUILD: Repo sucessfully built.
-BUILD: Product binaries are available at c:\git\diagnostics\artifacts\Debug\bin\Windows_NT.x64
-```
-
-To build for x86:
-
-```bat
-build.cmd -architecture x86
-```
-
-To test the resulting SOS:
-
-```bat
-test.cmd
-```
-
-To build under Linux, MacOS, FreeBSD, or NetBSD, run build.sh from the root of the repository:
-
-```sh
-./build.sh
-
-[Lots of build spew]
-
-BUILD: Repo sucessfully built.
-BUILD: Product binaries are available at /home/mikem/diagnostics/artifacts/Debug/bin/Linux.x64
-```
-
-To test the resulting SOS and plugin:
-
-```sh
-./test.sh
-```
-
## Getting lldb
Getting a version of lldb that works for your platform can be a problem sometimes. The version has to be at least 3.9 or greater because of a bug running SOS on a core dump that was fixed. Some Linux distros like Ubuntu it is easy as `sudo apt-get install lldb-3.9 python-lldb-3.9`. On other distros, you will need to build lldb. The directions below should give you some guidance.
(lldb) loadsymbols
+## Release Notes
+
+### dotnet-dump
+
+* Does not work on alpine and other MUSL based distros. Issue [#195](https://github.com/dotnet/diagnostics/issues/195).
+* Not supported ARM32 or ARM64. Issue [#168](https://github.com/dotnet/diagnostics/issues/168).
+* Not supported on MacOS.
+* Dump collection (dotnet dump collect) requires SYS\_PTRACE docker capabilities (--cap-add=SYS\_PTRACE or --privileged).
+* Dump analysis (dotnet dump analyze) in on Microsoft SDK Linux docker images throws `Unhandled exception: System.DllNotFoundException: Unable to load shared library 'libdl.so' or one of its dependencies` exception. Issue [#201](https://github.com/dotnet/diagnostics/issues/201). A work around is to install the "libc6-dev" package.
+* Dump analysis on Windows is not supported. Minidump collection is support. Issue [#157](https://github.com/dotnet/diagnostics/issues/157).
+
+### dotnet-sos
+
+* Does not work on alpine and other MUSL based distros. Issue [#195](https://github.com/dotnet/diagnostics/issues/195).
+* Not supported ARM32 or ARM64. Issue [#168](https://github.com/dotnet/diagnostics/issues/168).
+
## Useful Links
* [The LLDB Debugger](http://lldb.llvm.org/index.html) - More information about lldb.
and select the 'Path' variable in the 'System variables' (if you want to change it for all users) or 'User variables' (if you only want
to change it for the current user). Simply edit the PATH variable's value and add the directory (with a semicolon separator).
+## Building
+
+To build under Windows, run build.cmd from the root of the repository:
+
+```bat
+build.cmd
+
+[Lots of build spew]
+
+BUILD: Repo sucessfully built.
+BUILD: Product binaries are available at c:\git\diagnostics\artifacts\Debug\bin\Windows_NT.x64
+```
+
+To build for x86:
+
+```bat
+build.cmd -architecture x86
+```
+
+To test the resulting SOS:
+
+```bat
+test.cmd
+```
The first step is to install the dotnet-dump CLI global tool. This requires the 2.1 .NET Core SDK to be installed. If you see the error message `Tool 'dotnet-dump' is already installed`, you will need to uninstall the global tool (see below).
- $ dotnet tool install -g dotnet-dump --version 1.0.3-preview5.19228.1
+ $ dotnet tool install -g dotnet-dump --version 1.0.3-preview5.19251.2
You can invoke the tool using the following command: dotnet-dump
- Tool 'dotnet-dump' (version '1.0.3-preview5.19228.1') was successfully installed.
+ Tool 'dotnet-dump' (version '1.0.3-preview5.19251.2') was successfully installed.
## Using dotnet-dump
On Linux, it needs to be run as superuser:
- $ sudo -E PATH=$PATH dotnet dump collect --process-id 1902
+ $ sudo $HOME/.dotnet/tools/dotnet-dump collect --process-id 1902
Writing minidump to file ./core_20190226_135837
Written 98983936 bytes (24166 pages) to core file
Complete
## Uninstalling dotnet-dump
$ dotnet tool uninstall -g dotnet-dump
- Tool 'dotnet-dump' (version '1.0.3-preview5.19228.1') was successfully uninstalled.
-
-## Release Notes
-
-Preview5
-
-* dotnet-dump does not work on alpine and other MUSL based distros. Issue [#195](https://github.com/dotnet/diagnostics/issues/195).
-* dotnet-dump collect requires SYS\_PTRACE docker capabilities (--cap-add=SYS\_PTRACE or --privileged).
-* dotnet-dump analyze in Microsoft SDK docker images throws `Unhandled exception: System.DllNotFoundException: Unable to load shared library 'libdl.so' or one of its dependencies` exception. Issue [#201](https://github.com/dotnet/diagnostics/issues/201).
+ Tool 'dotnet-dump' (version '1.0.3-preview5.19251.2') was successfully uninstalled.
The first step is to install the dotnet-trace CLI global tool. This requires at least version 2.1 of the SDK to be installed.
```cmd
-$ dotnet tool install --global dotnet-trace --version 1.0.3-preview5.19228.1
+$ dotnet tool install --global dotnet-trace --version 1.0.3-preview5.19251.2
You can invoke the tool using the following command: dotnet-trace
-Tool 'dotnet-trace' (version '1.0.3-preview5.19228.1') was successfully installed.
+Tool 'dotnet-trace' (version '1.0.3-preview5.19251.2') was successfully installed.
```
## Using dotnet-trace
The first step is to install the dotnet-sos CLI global tool. This requires the 2.1 .NET Core SDK to be installed. If you see the error message `Tool 'dotnet-sos' is already installed`, you will need to uninstall the global tool (see below).
- $ dotnet tool install -g dotnet-sos --version 1.0.3-preview5.19228.1
+ $ dotnet tool install -g dotnet-sos --version 1.0.3-preview5.19251.2
You can invoke the tool using the following command: dotnet-sos
- Tool 'dotnet-sos' (version '1.0.3-preview5.19228.1') was successfully installed.
+ Tool 'dotnet-sos' (version '1.0.3-preview5.19251.2') was successfully installed.
The next step is use this global tool to install SOS.
$ dotnet sos install
- Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/1.0.3-preview5.19228.1/dotnet-sos/1.0.3-preview5.19228.1/tools/netcoreapp2.1/any/linux-x64
+ Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/1.0.3-preview5.19251.2/dotnet-sos/1.0.3-preview5.19251.2/tools/netcoreapp2.1/any/linux-x64
Creating installation directory...
Copying files...
Updating existing /home/mikem/.lldbinit file - LLDB will load SOS automatically at startup
The installer needs to be run again:
$ dotnet sos install
- Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/1.0.3-preview5.19228.1/dotnet-sos/1.0.3-preview5.19228.1/tools/netcoreapp2.1/any/linux-x64
+ Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/1.0.3-preview5.19251.2/dotnet-sos/1.0.3-preview5.19251.2/tools/netcoreapp2.1/any/linux-x64
Installing over existing installation...
Creating installation directory...
Copying files...
To remove the SOS installer global tool:
$ dotnet tool uninstall -g dotnet-sos
- Tool 'dotnet-sos' (version '1.0.3-preview5.19228.1') was successfully uninstalled.
+ Tool 'dotnet-sos' (version '1.0.3-preview5.19251.2') was successfully uninstalled.
It is recommended that you update to the newer versions of the Windows debugger, but you can still use the latest SOS with older Windows debuggers by using the dotnet-sos CLI global tool to install. It is not as convenient. You may have to ".unload" the SOS that is loaded from the "runtime" directory.
- C:\Users\mikem>dotnet tool install -g dotnet-sos --version 1.0.3-preview5.19228.1
+ C:\Users\mikem>dotnet tool install -g dotnet-sos --version 1.0.3-preview5.19251.2
You can invoke the tool using the following command: dotnet-sos
- Tool 'dotnet-sos' (version '1.0.3-preview5.19228.1') was successfully installed.
+ Tool 'dotnet-sos' (version '1.0.3-preview5.19251.2') was successfully installed.
Run the installer:
C:\Users\mikem>dotnet sos install
- Installing SOS to C:\Users\mikem\.dotnet\sos from C:\Users\mikem\.dotnet\tools\.store\dotnet-sos\1.0.3-preview5.19228.1\dotnet-sos\1.0.3-preview5.19228.1\tools\netcoreapp2.1\any\win-x64
+ Installing SOS to C:\Users\mikem\.dotnet\sos from C:\Users\mikem\.dotnet\tools\.store\dotnet-sos\1.0.3-preview5.19251.2\dotnet-sos\1.0.3-preview5.19251.2\tools\netcoreapp2.1\any\win-x64
Creating installation directory...
Copying files...
Execute '.load C:\Users\mikem\.dotnet\sos\sos.dll' to load SOS in your Windows debugger.