Skip to content

Profiler

lordmilko edited this page Mar 2, 2023 · 14 revisions

Contents

Overview

DebugTools can record all methods invoked in a target process, including their parameters/return values. This is achieved by launching the target process with a collection of environment variables set that cause the .NET runtime to inject DebugTools' custom profiler into the target process that records this information, and transmits it to DebugTools via ETW.

The flow of a profiling session typically goes as follows

  1. Launch a process under the control of the profiler
  2. Begin a trace
  3. Stop the trace and review the results

Steps 2 and 3 can then be repeated as necessary as long as the target process remains active.

The easiest way to launch a process under the control of the profiler is to use the Start-DbgProfiler cmdlet

Start-DbgProfiler powershell

DebugTools provides a number of settings that can be configured to control how the profiler operates. For more information, please see the following articles

Project Overview

User Guide

Clone this wiki locally