Problem Importing Memory Dumps

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.
Post Reply
OmerMor
Posts: 6
Joined: Thu Jan 17, 2008 5:56 pm

Problem Importing Memory Dumps

Post by OmerMor » Thu Jan 17, 2008 8:19 pm

Hi,
We often have problems when we try to import memory dumps:
When it happens, the import process is very short, and after it ends no instances are shown in the profiler.
Sadly, our dumps are classified, so I can't send them over.
Is there any help you can give us? Is it possible to give more detailed information about the importing process and the reason it failed? Perhaps a verbose logging option?
Thanks in advance,
Omer Mor.

P.S.
Can anyone here help with a memory leak in an Atari ST assembly demo program? ;-)

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Fri Jan 18, 2008 4:15 pm

When importing memory dumps in .NET Memory Profiler 3.0, the .NET runtime version on the computer where the memory dump was created must match the .NET runtime version on the computer that imports the memory dump. If there is a version mismatch, no instances will be shown after import (as you experience).

This has been improved in .NET Memory Profiler 3.1. If you are not using that version, I recommend that you download the release candidate from http://memprofiler.com/beta.
Best regards,

Andreas Suurkuusk
SciTech Software AB

OmerMor
Posts: 6
Joined: Thu Jan 17, 2008 5:56 pm

Post by OmerMor » Sat Jan 19, 2008 4:58 am

Sadly, I am using the latest build of version 3.1 (which is GREAT btw! I love the field names in the root path...).
I'll ask again: is there any way to get detailed logging for the dump importing process which will help investigate the reason for this?
It's much harder to investigate the dumps using WinDBG.

Do you know the !TraverseHeap command in WinDBG's SOS extension? It creates a file in a format which can be read by CLRProfiler. That's what I usually use if your profiler fails to open my dump. Maybe you'll consider importing from this format as well if importing a dump file doesn't work.

I also had problems with dumps taking ages ( > 5 hours ) to import.
So generally I must say that the import feature is still not as useful as it can be. I hope you'll do better with the next build / version.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Sun Jan 20, 2008 10:11 pm

From your description it seemed like your problem was caused by a mismatch of .NET runtime versions, but since you're running .NET Memory Profiler 3.1 that is probably not the case.

We really want to solve this issue and log-files would help. Unfortunately, attach/import logging is not included in the current release of v3.1. We will enable it and release a new build during the next week. I will get back to you on this forum when it is available.

If the !TraverseHeap command works under WinDBG, then the profiler should also be able to import the memory dump, since it uses the same functionality. As soon as we get hold of the log-files, I think we should be able to solve this.

We're also looking into ways of improving the speed of the import. Hopefully we will be able to make it considerably faster in future versions.
Best regards,

Andreas Suurkuusk
SciTech Software AB

OmerMor
Posts: 6
Joined: Thu Jan 17, 2008 5:56 pm

Post by OmerMor » Sun Jan 20, 2008 10:29 pm

OK - I'll wait for the next logging-enabled build, and try to work with you on this issue.
Please let me know when it's available.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Tue Jan 22, 2008 10:59 am

Now there's a version of .NET Memory Profiler 3.1 available that performs verbose logging when attaching to a process or importing a memory dump. You can download it from http://memprofiler.com/MemProfilerInstaller3_1_259.msi (or http://memprofiler.com/MemProfilerInsta ... -64bit.msi for the 64-bit version).

Note that this is just a test build and logging is always enabled for the memory dump import. The installer will be removed as soon as we have solved this problem.

If you try to import your memory dump using this version, you will get a set of log-files. The log files are stored in the folder "C:\Documents and Settings\<User>\Local Settings\Application Data\SciTech\MemProfiler3\Logs" (or C:\Users\<User>\AppData\Local\SciTech\MemProfiler3\Logs" on Vista). The files we're interested in are AssertAttachLog.txt, AssertDbgEngProxyLog.txt, DbgEngProxyLog.txt, ProfilerAttachLog.txt and ProfilerClientLog.txt). If you e-mail us those files (to support@scitech.se) after you have failed to import a memory dump, then we will hopefully be able to get some useful information about the problem.

We would also like information about the operating systems and .NET runtime versions (on the machine running the profiler and the machine were the memory dump was created).
Best regards,

Andreas Suurkuusk
SciTech Software AB

OmerMor
Posts: 6
Joined: Thu Jan 17, 2008 5:56 pm

Post by OmerMor » Tue Jan 22, 2008 3:35 pm

Thanks,
I will try to test it tomorrow.

OmerMor
Posts: 6
Joined: Thu Jan 17, 2008 5:56 pm

Post by OmerMor » Wed Jan 23, 2008 9:36 am

I just sent you the log files.
Good luck!

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 14 guests