Intel® VTune™ Amplifier 2018 Help
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:
Native mode collects data on native code only, does not attribute data to managed source.
Managed mode collects everything, resolves samples attributed to native code, attributes data to managed source only. The call stack in the analysis result displays data for managed code only.
Mixed collects everything and attributes data to managed source where appropriate. Consider using this option when analyzing a native executable that makes calls to the managed code.
Auto mode automatically detects the type of target executable, managed or native, and switches to the corresponding mode.
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:
Use the Native Image Generator tool (Ngen.exe) from the .NET Framework to generate a native .pdb file.
Click the
Configure Project button on the toolbar.
In the Choose Target and Analysis Type window, click the Binary/Symbol Search button on the right.
In the Binary/Symbol Search dialog box, add a path to the generated native .pdb file.
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:
Click the
Configure Project button on the toolbar.
The Choose Target and Analysis Type window opens with the Analysis Target tab active.
De-select the Inherit settings from Visual Studio* project check box.
The Managed code profiling mode option is enabled.
From the Managed code profiling mode menu, select the required profiling mode.
System-wide profiling is not supported for managed code.
To enable CoreCLR JIT profiling with the VTune Amplifier, make sure to manually configure CoreCRL environment variables.
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.
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].