3

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?

Jeff Costa
  • 481
  • 3
  • 9

1 Answers1

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.

Nick O'Neil
  • 1,771
  • 11
  • 10