Skip to content

Commit

Permalink
Updated "Viewing JIT Dumps" for .NET Core 3.0 (dotnet/coreclr#21687)
Browse files Browse the repository at this point in the history
* Updated "Viewing JIT Dumps" for .NET Core 3.0

plus some minor wording change

* Incorporated changes from dotnet/coreclr#21859


Commit migrated from dotnet/coreclr@2d2caa8
  • Loading branch information
gfoidl authored and BruceForstall committed Jan 8, 2019
1 parent 31fda2c commit c003b8b
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions docs/coreclr/building/viewing-jit-dumps.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<RuntimeIdentifier>` tag. For example, for Windows 10 x64 machine, the project file is:

Expand All @@ -19,8 +19,8 @@ The first thing we want to do is setup the .NET Core app we want to dump. Here a

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

</Project>
Expand Down Expand Up @@ -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 <coreclr path>\bin\Product\Windows_NT.<arch>.Release <app root>\bin\Release\netcoreapp2.0\<rid>\publish > NUL
copy <coreclr path>\bin\Product\Windows_NT.<arch>.Debug\clrjit.dll <app root>\bin\Release\netcoreapp2.0\<rid>\publish > NUL
robocopy /e <coreclr path>\bin\Product\Windows_NT.<arch>.Release <app root>\bin\Release\netcoreapp3.0\<rid>\publish > NUL
copy /y <coreclr path>\bin\Product\Windows_NT.<arch>.Debug\clrjit.dll <app root>\bin\Release\netcoreapp3.0\<rid>\publish > NUL

# Unix
cp -rT <coreclr path>/bin/Product/<OS>.<arch>.Release <app root>/bin/Release/netcoreapp2.0/<rid>/publish
cp <coreclr path>/bin/Product/<OS>.<arch>.Debug/libclrjit.so <app root>/bin/Release/netcoreapp2.0/<rid>/publish
cp -rT <coreclr path>/bin/Product/<OS>.<arch>.Release <app root>/bin/Release/netcoreapp3.0/<rid>/publish
cp <coreclr path>/bin/Product/<OS>.<arch>.Debug/libclrjit.so <app root>/bin/Release/netcoreapp3.0/<rid>/publish
```

* Set the configuration knobs you need (see below) and run your published app. The info you want should be dumped to stdout.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit c003b8b

Please sign in to comment.