Updated "Viewing JIT Dumps" for .NET Core 3.0 (#21687)
authorGünther Foidl <gue@korporal.at>
Tue, 8 Jan 2019 21:15:48 +0000 (22:15 +0100)
committerBruce Forstall <brucefo@microsoft.com>
Tue, 8 Jan 2019 21:15:48 +0000 (13:15 -0800)
* 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

index 58dd225..82fe1e1 100644 (file)
@@ -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:
 
@@ -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>
@@ -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.
@@ -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