No call stack information when importing from memory dump

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

Moderator: SciTech Software

No call stack information when importing from memory dump

Postby Pascal » Wed May 11, 2016 3:37 pm

Why does the memory profiler does not show call stack when importing a memory dump? I can see call stack information using windbg so I wonder if I do something wrong when importing the memory dump.

Pascal
Pascal
 
Posts: 7
Joined: Tue Dec 01, 2015 8:53 pm

Re: No call stack information when importing from memory dum

Postby Andreas Suurkuusk » Thu May 12, 2016 9:26 pm

The call stacks presented by .NET Memory Profiler are collected when an instance is allocated. They present information about how and why instances are created.

The call stacks you see in WinDbg are the active call stacks for each thread in the process. These are the same threads as you see when you are debugging a process. They do no present any information about how instances are collected.

However, the active call stacks acts as roots for instances, so the do provide some useful information for a memory profiler. We have considered adding an "Active call stacks" page to the profiler, and are still considering it. But this feature will not be included in the next version of the profiler.
Best regards,

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

Re: No call stack information when importing from memory dum

Postby Pascal » Fri May 13, 2016 12:57 pm

Essentially what I was looking for is a way to search for string allocations made by a given method.
Pascal
 
Posts: 7
Joined: Tue Dec 01, 2015 8:53 pm

Re: No call stack information when importing from memory dum

Postby Andreas Suurkuusk » Fri May 13, 2016 1:04 pm

To search for this information, you need to run your process under the profiler. This information is not available when importing a memory dump or attaching to a process (i.e. the information does not exist in the memory dump and can therefore not be retrieved by the profiler).
Best regards,

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

Re: No call stack information when importing from memory dum

Postby Pascal » Fri May 13, 2016 1:24 pm

Ok, essentially I was looking at memory allocation for active call stacks. We have a number of threads hanging forever in some 3rd party DLL method and we wanted to know what was the data causing this hang. Logging the data on every call would have created huge amount of data since we don't know the exact circumstances when this is happening. I was under the impression active call stack was presented in memory profiler so perhaps in a future release :).
Pascal
 
Posts: 7
Joined: Tue Dec 01, 2015 8:53 pm


Return to Using .NET Memory Profiler

Who is online

Users browsing this forum: Yahoo [Bot] and 6 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