Intel® VTune™ Amplifier

.NET* Targets

Explore performance analysis specifics for pure .NET* applications or native applications with .NET calls.

Intel® VTune™ Amplifier automatically identifies the type of the code based on the debugger type specified in the Visual Studio project property pages:

VTune Amplifier inherits this setting to set the profiling mode for the analysis target. The following types are possible:

Profiling Pure .NET Applications

If you analyze a pure .NET application, the VTune Amplifier resolves the Auto mode to Mixed.

Before profiling a pure .NET application, make sure to generate debug information for a native image of .NET managed assembly, which is required for successful module resolution and source analysis:

  1. Use the Native Image Generator tool (Ngen.exe) from the .NET Framework to generate a native .pdb file.

  2. Click the Configure Project button on the toolbar.

  3. In the Choose Target and Analysis Type window, click the Binary/Symbol Search button on the right.

  4. In the Binary/Symbol Search dialog box, add a path to the generated native .pdb file.

Profiling Native Applications with .NET Calls

If you analyze a native application that calls managed code, the VTune Amplifier resolves the Auto mode to Native and does not profile managed code. In this case, if you want to enable the VTune Amplifier to profile the managed code called from the native application, set the profiling mode to Mixed as follows:

  1. Click the Configure Project button on the toolbar.

    The Choose Target and Analysis Type window opens with the Analysis Target tab active.

  2. De-select the Inherit settings from Visual Studio* project check box.

    The Managed code profiling mode option is enabled.

  3. From the Managed code profiling mode menu, select the required profiling mode.

Note

  • System-wide profiling is not supported for managed code.

  • Starting with the VTune Amplifier 2018 Update 2, you can use the Advanced Hotspots analysis to profile .Net Core applications running on Linux* or Windows* systems in the Launch Application mode. For the product versions prior to 2018 Update 2, make sure to manually configure CoreCRL environment variables to enable the Advanced Hotspots analysis.

Example 1: Performance results for the native application calling managed code in the Mixed mode

In the example below, the VTune Amplifier uses the Mixed mode for the native application calling managed code. Setting the Call Stack Mode option to User/system functions (highlighted below) provides full stack data on system (grayed-out in the Call Stack pane) and user functions.

Example 2: Performance results for the native application calling managed code in the Native mode (default)

In the example below, the Native mode is used and the VTune Amplifier does not analyze the managed code called from the native executable (the same as in example 1) and displays it as [Unknown stack frames].

See Also