This repository contains the source code for various .NET Core runtime diagnostic tools and documents.
Перейти к файлу
mikelle-rogers 12c569ea95
Include source for Windows specific P/Invoke
Source in src/Tools/Common/WindowProcessExtension/WindowProcessExtension.cs is copied from:
787c893a93/Kudu.Core/Infrastructure/ProcessExtensions.cs (L562-L616)
The error handling was modified to return a string instead of throw.
Pull Request #2831
2022-02-09 10:05:54 -07:00
.github Add issue templates and code owners (#1604) 2020-09-25 21:15:08 +00:00
documentation Adding dotnet-trace report (draft 2) (#2650) 2021-12-14 18:22:33 -07:00
eng Update dependencies from https://github.com/microsoft/clrmd build 20220208.1 (#2859) 2022-02-09 14:22:14 +00:00
src Update from runtime repro (#2857) 2022-02-08 16:52:23 -08:00
.gitattributes Add the managed SOS code. 2018-04-26 15:47:59 -07:00
.gitignore Release tools (#1648) 2020-11-11 16:48:21 -08:00
Build.cmd Use darc runtime subscription versions for testing (#682) 2019-12-13 14:47:52 -08:00
CMakeLists.txt Port dbgshim to the diagnostics repo (#2842) 2022-02-07 18:01:35 -08:00
CODE-OF-CONDUCT.md Link Code of Conduct (#980) 2020-04-02 16:36:25 -07:00
Directory.Build.props Fix licensing to be standard MIT across the repo (#1055) 2020-04-22 20:50:06 +00:00
LICENSE.TXT Initialize repo 2018-03-21 18:05:51 -07:00
NuGet.config Update dependencies from https://github.com/dotnet/runtime build 20220207.25 (#2855) 2022-02-08 14:11:00 +00:00
README.md Update 2.1 to 3.1 netcoreapp in diagnostic repo documentation (#2706) 2021-10-26 15:54:12 -07:00
Restore.cmd Use darc runtime subscription versions for testing (#682) 2019-12-13 14:47:52 -08:00
SECURITY.md Fix whitespace in SECURITY.md (#870) 2020-03-02 17:41:26 -08:00
THIRD-PARTY-NOTICES.TXT Include source for Windows specific P/Invoke 2022-02-09 10:05:54 -07:00
Test.cmd Use darc runtime subscription versions for testing (#682) 2019-12-13 14:47:52 -08:00
build.sh Use darc runtime subscription versions for testing (#682) 2019-12-13 14:47:52 -08:00
debuggees.sln [main] Update dependencies from dotnet/arcade (#2561) 2021-09-07 22:30:55 +00:00
diagnostics.sln Move all the common runtime and diagnostics repo code to the "shared" directory (#2852) 2022-02-08 05:34:01 +00:00
diagnostics.yml Adapt to runtime's native build infra 2021-10-29 04:02:33 +03:00
dotnet.cmd Release tools (#1648) 2020-11-11 16:48:21 -08:00
dotnet.sh Fix misc SOS bugs (#2600) 2021-09-20 16:32:51 -07:00
global.json Update dependencies from https://github.com/dotnet/arcade build 20220203.1 (#2848) 2022-02-07 14:22:26 +00:00
restore.sh Use darc runtime subscription versions for testing (#682) 2019-12-13 14:47:52 -08:00
test.sh Use PEFile instead of clrmd's PEImage (#2769) 2021-12-08 01:24:32 +00:00

README.md

.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 (all in-development and supported major versions).

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 runtime 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-gcdump - Heap analysis tool that collects gcdumps of live .NET processes.
  • 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.

Build Status

Build Status

License

The diagnostics repository is licensed under the MIT license.