This section provides a high-level view of the profiling API and its key concepts.
Discusses callbacks that are issued for loading application domains, assemblies, modules, and classes.
Discusses the snapshot and shadow-stack methods for obtaining call stacks.
Explains how garbage collection is triggered and detected.
Explains how objects that were moved during garbage collection can be tracked.
Explains how a profiler can use metadata to obtain information about objects.
Discusses how a profiler can monitor exception events.
Describes how a profiler can control automatic and manual code generation.
Explains how a profiler DLL is affected by security restrictions.
Explains why combining managed and unmanaged code in a profiler can cause unpredictable behavior.
Describes the minimal support profilers provide for unmanaged code.