Unidentified / skipped frame

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.

Moderator: SciTech Software

Unidentified / skipped frame

Postby sthiers » Tue Dec 01, 2009 12:16 pm

Hello,

Sorry if the question has already been raised, but I did not find it.

In MemProfile 3.5, Tab "Resource details" for VirtualMemory I have a stack like this one:

ntdll!NtAllocateVirtualMemory( HANDLE, PVOID*, ULONG, PULONG, ULONG, ULONG )
[Skipped frame(s)]
[Unidentified frame(s)]
[Managed to native transition]
Lcl.Dhpl.Data!<Module>.openFile( basic_string<char,stlp_std::char_traits<char>,stlp_std::allocator<char> >* ) // this is some managed C++ code
[...] // I've cut the rest of managed stack

I'm interested by the Unidentified / skipped frame. Is there something to do in order to get more precision on these frames?

thanks
Stéphane

PS: By the way, I find the 3.5 version heap better than the 3.0 which was already a good one: Good job !
sthiers
 
Posts: 8
Joined: Thu Oct 02, 2008 7:44 am

Postby Andreas Suurkuusk » Tue Dec 01, 2009 10:09 pm

In order for .NET Memory Profiler to identify native frames, it needs access to the symbol files. If no symbols exist, an [Unidentified frame(s)] entry will be added, and the next frame will be analyzed. When profiling a 32-bit application, there is also a substantial risk that the next frame cannot be identified due to stack frame optimizations. To avoid unidentified frames, make sure that you have defined symbol file locations in the "Tools->Settings" window. If the symbol files are not available (e.g. for third party libraries), then you will unfortunately still get unidentified frames.

[Skipped frame(s)] are added when a stack frame has been skipped by the stack reducer or when excluded by a "Call Stacks" setting. I recommend that you make sure that all managed methods and all native methods are included under the "Call Stacks" settings. To avoid excessive memory usage and slow performance, it is probably a good idea to keep the call stacks reducer enabled, but you can try to increase the number of "Max skippable stack frames" (e.g. from 2,000,000 to 4,000,000).
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 980
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden


Return to Using .NET Memory Profiler

Who is online

Users browsing this forum: No registered users and 2 guests

SciTech Software logo

© Copyright 2001-2016. SciTech Software AB
All rights reserved.


SciTech Software AB
Kartvägen 21
SE-175 46 Järfälla
Sweden


E-mail: mail@scitech.se

Telephone: +46-706868081

cron