Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I know that fragmentation typically occurs when an object collected by garbage collection is marked as a "free" block, but the object occupying the next address space is pinned. I can get a list of Free objects, but cannot seem to find out what is pinned next to it.

I dump the object, find its size, and then add its size to the original object address to get the next object, like this:

0:000> !do 0a2467c8 Free Object Size 438312(0x6b028) bytes

0:000> !do 0a2467c8+438312 Invalid object

I can never get the next, pinned object to show up. Its always invalid. What am I doing wrong here?

share|improve this question
1  
Figured it out. When you step to the next object, the value must be in HEX, not in decimal. –  Jeff Costa Jul 27 '09 at 22:42
    
thanks, so to be clear, it's: !do 0a2467c8+0x6b028 –  Elger Jul 22 '13 at 11:17

1 Answer 1

WinDbg does not always work out as planned. Check out Mark Russinovich’s latest utility.

ProcDump v1.0, a 1.0 worth every ounce of mention. http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

ProcDump is a command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike that an administrator or developer can use to determine the cause of the spike. ProcDump also includes hung window monitoring (using the same definition of a window hang that Windows and Task Manager use) and unhandled exception monitoring. It also can serve as a general process dump utility that you can embed in other scripts.

share|improve this answer
    
Thanks, I'll check it out. –  Jeff Costa Jul 27 '09 at 22:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.