5

The documentation on the SOS.dll Windbg extension seems sparse. After issuing a !gcroot <address>, I am getting something containing the following:

DOMAIN(XXX):HANDLE(Pinned):XXX:Root:XXX(System.Object[])->

Does "HANDLE(Pinned)" really mean there is a GCHandle of type GCHandleType.Pinned that is rooting this object?

quetzalcoatl
  • 32,194
  • 8
  • 68
  • 107

4 Answers4

4

It's probably not pinned, per se, but rather is probably a static reference. Take a look here: http://blogs.msdn.com/dougste/archive/2005/11/25/497016.aspx

Mark Sowul
  • 10,244
  • 1
  • 45
  • 51
1

Yes it does mean the object is pinned. Now you have to find what is pinning the object and preventing it from being garbage collected.

0

Yes it does. Another possible value instead of pinned is WeakLn, which means it will be garbage collected on the next sweep.

steve
  • 5,870
  • 1
  • 21
  • 22
-1

I know that Karel Zikmund, MSFT Moderator at http://social.msdn.microsoft.com/Forums/en-US/clr/thread/e52936b4-15c4-434f-91b9-4640df66d0c6 says "yes." But I'm looking for extra opinions, insight, etc. Thanks!