Skip to content

This repository contains the source code for various .NET Core runtime diagnostic tools and documents.

License

Notifications You must be signed in to change notification settings

dotnet/diagnostics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

66b278d · Mar 3, 2020
Feb 23, 2020
Mar 2, 2020
Feb 13, 2020
Apr 26, 2018
Nov 19, 2019
Nov 7, 2019
Jan 17, 2020
Dec 13, 2019
Dec 13, 2019
Sep 21, 2019
Mar 22, 2018
Dec 13, 2019
Feb 8, 2020
Dec 13, 2019
Mar 3, 2020
Oct 25, 2019
Dec 13, 2019
Dec 13, 2019
May 10, 2018
May 25, 2018
Jan 14, 2020
Dec 26, 2019
Aug 24, 2018
Mar 2, 2020
Dec 13, 2019
Dec 13, 2019

Repository files navigation

.NET Core Diagnostics Repo

This repository contains the source code for various .NET Core runtime diagnostic tools. It currently contains SOS, the managed portion of SOS, the lldb SOS plugin and various global diagnostic tools. The goals of this repo is to build SOS and the lldb SOS plugin for the portable (glibc based) Linux platform (Centos 7) and the platforms not supported by the portable (musl based) build (Centos 6, Alpine, and macOS) and to test across various indexes in a very large matrix: OSs/distros (Centos 6/7, Ubuntu, Alpine, Fedora, Debian, RHEL 7.2), architectures (x64, x86, arm, arm64), lldb versions (3.9 to 9.0) and .NET Core versions (1.1, 2.0.x, 2.1).

Another goal to make it easier to obtain a version of lldb (currently 3.9) with scripts and documentation for platforms/distros like Centos, Alpine, Fedora, etc. that by default provide really old versions.

This repo will also allow out of band development of new SOS and lldb plugin features like symbol server support for the .NET Core runtime and solve the source build problem having SOS.NETCore (managed portion of SOS) in the coreclr repo.

See the GitHub Release tab for notes on SOS and diagnostic tools releases.


Building the Repository

The build depends on Git, CMake, Python and of course a C++ compiler. Once these prerequisites are installed the build is simply a matter of invoking the 'build' script (build.cmd or build.sh) at the base of the repository.

The details of installing the components differ depending on the operating system. See the following 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 and build:

SOS and Other Diagnostic Tools

  • SOS - About the SOS debugger extension.
  • dotnet-dump - Dump collection and analysis utility.
  • dotnet-trace - Enable the collection of events for a running .NET Core Application to a local trace file.
  • dotnet-counters - Monitor performance counters of a .NET Core application in real time.

Useful Links

Build Status

Build Status

License

The diagnostics repository is licensed under the MIT license. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.