From 2d2caa80996562936b146fbf81ab228a21b1f7b7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Foidl?= Date: Tue, 8 Jan 2019 22:15:48 +0100 Subject: [PATCH] Updated "Viewing JIT Dumps" for .NET Core 3.0 (#21687) * Updated "Viewing JIT Dumps" for .NET Core 3.0 plus some minor wording change * Incorporated changes from https://github.com/dotnet/coreclr/pull/21859 --- Documentation/building/viewing-jit-dumps.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Documentation/building/viewing-jit-dumps.md b/Documentation/building/viewing-jit-dumps.md index 58dd225..82fe1e1 100644 --- a/Documentation/building/viewing-jit-dumps.md +++ b/Documentation/building/viewing-jit-dumps.md @@ -6,11 +6,11 @@ To make sense of the results, it is recommended you also read the [Reading a Jit ## Setting up our environment -The first thing we want to do is setup the .NET Core app we want to dump. Here are the steps to do this, if you don't have one ready: +The first thing to do is setup the .NET Core app we want to dump. Here are the steps to do this, if you don't have one ready: -* Perform a release build of the CoreCLR repo by passing `release` to the build command. You don't need to build tests, so you can pass `skiptests` to the build command to make it faster. Note: the release build can be skipped, but in order to see optimized in the core library it is needed. +* Perform a release build of the CoreCLR repo by passing `release` to the build command. You don't need to build tests, so you can pass `skiptests` to the build command to make it faster. Note: the release build can be skipped, but in order to see optimized code of the core library it is needed. * Perform a debug build of the CoreCLR repo. Tests aren't needed as in the release build, so you can pass `skiptests` to the build command. Note: the debug build is necessary, so that the JIT recognizes the configuration knobs. -* Install the [.NET CLI 2.1 preview](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md), which we'll use to compile/publish our app. +* Install the (latest) [.NET CLI](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md), which we'll use to compile/publish our app. * `cd` to where you want your app to be placed, and run `dotnet new console`. * Modify your `csproj` file so that it contains a RID (runtime ID) corresponding to the OS you're using in the `` tag. For example, for Windows 10 x64 machine, the project file is: @@ -19,8 +19,8 @@ The first thing we want to do is setup the .NET Core app we want to dump. Here a Exe - netcoreapp2.0 - win10-x64 + netcoreapp3.0 + win-x64 @@ -62,12 +62,12 @@ The first thing we want to do is setup the .NET Core app we want to dump. Here a ```shell # Windows - robocopy /e \bin\Product\Windows_NT..Release \bin\Release\netcoreapp2.0\\publish > NUL - copy \bin\Product\Windows_NT..Debug\clrjit.dll \bin\Release\netcoreapp2.0\\publish > NUL + robocopy /e \bin\Product\Windows_NT..Release \bin\Release\netcoreapp3.0\\publish > NUL + copy /y \bin\Product\Windows_NT..Debug\clrjit.dll \bin\Release\netcoreapp3.0\\publish > NUL # Unix - cp -rT /bin/Product/..Release /bin/Release/netcoreapp2.0//publish - cp /bin/Product/..Debug/libclrjit.so /bin/Release/netcoreapp2.0//publish + cp -rT /bin/Product/..Release /bin/Release/netcoreapp3.0//publish + cp /bin/Product/..Debug/libclrjit.so /bin/Release/netcoreapp3.0//publish ``` * Set the configuration knobs you need (see below) and run your published app. The info you want should be dumped to stdout. @@ -106,6 +106,9 @@ These can be set in one of three ways: ```shell # Windows set COMPlus_JitDump=Main + + # Powershell + $env:COMPlus_JitDump="Main" # Unix export COMPlus_JitDump=Main -- 2.7.4