(Professional only)
To get as detailed call stacks as possible when the unmanaged resources tracker is enabled, it is recommended that native stack walker is enabled. In order for the native stack walker to work correctly, the symbols files must be available. To set up the native stack walker and symbol file locations, perform the following steps:
1. Open the Options window (using Tools->Options).
2. Make sure the unmanaged resources tracker is enabled on the General page (native stacks walks are only available when the unmanaged resources tracker is enabled).
3. Under the Native page on the Call Stacks settings page, enable the Perform native stack walk option. To limit the number of call stacks and the size of the call stacks, it is also recommended that the Enable stack reducer option is selected on the General page.
4. In order for native stack walks to work correctly, native symbols information must be available. On the Symbol File Locations page, make sure that Retrieve debug symbols from the Microsoft symbols store option is enabled. It is also recommended that symbols files are cached on the local drive.
Now the native stack walker will provide detailed native call stacks when profiling with the unmanaged resources tracker enabled.
NOTE! The first time a frame is encountered by the native stack walker, .NET Memory Profiler needs to retrieve information about the frame from the debug symbols. This can take some time, especially if the symbols need to be downloaded. However, the symbol information will be cached by .NET Memory Profiler, which will make subsequent stack walks very much faster.