Page 1 of 1

Nothing is loaded after importing dump

Posted: Wed Dec 22, 2010 11:14 am
by cyril.durand
Hello,

I'm trying .net memory profiler.

I want to analyze a dump of a 32 bits process running on a 64 bits OS. The dump is from a production server, I try to analyze it on a dev computer (64 bits OS). I use the 3.5.166.0 version of .net memory profiler.

When I import the dump, the tool said me that I have a different version of .net than the production server, I select the first option : "use microsoft symbols", then the dump was successfully imported (about 2 min).

The problem is nothing is displayed, there is no line on the Type, Type Details or Instance Details tab. I've got no log, no error.

Did I make a mistake ? How can I see the content of the dump ? Is there any log which can explain me what happens ?

Thanks,

Cyril DURAND

Re: Nothing is loaded after importing dump

Posted: Wed Dec 22, 2010 8:30 pm
by Andreas Suurkuusk
Unfortunately, there is a risk that the state of the managed heap is invalid in the memory dump. If the dump is in a bad state, there's currently not much we can do, but we're investigating other possibilities to retrieve as much information as possible anyway. At least we will try to detect the bad state so that we can provide an error message instead of an empty snapshot.

If the memory dump is in a bad state, there will also be problems investigating it using "Debugging Tools for Windows".
Can you verify whether you can retrieve managed memory information from the dump using the debugging tools, by following the steps below?

1. Start WinDbg
2. Load the memory dump
3. Run the command ".loadby sos mscorwks"
3. Run the command !dumpheap -stat

If you get an error message from !dumpheap (e.g. like the message below), the profiler will not be able to import the memory dump.
The garbage collector data structures are not in a valid state for traversal.
It is either in the "plan phase," where objects are being moved around, or
we are at the initialization or shutdown of the gc heap. Commands related to
displaying, finding or traversing objects as well as gc heap segments may not
work properly. !dumpheap and !verifyheap may incorrectly complain of heap
consistency errors.

You can also try to run the command "!TraverseHeap c:\Scrap\traverse.dat" and see if you get any error messages.