Windbg: SOS.dll:! Gcroot: ДОМЕН (xxx): РУЧКА (закреплено): действительно ли это означает, что объект закреплен? - PullRequest
5 голосов
/ 05 августа 2009

Документация по расширению SOS.dll Windbg кажется скудной. После выдачи! Gcroot

я получаю что-то, содержащее следующее: DOMAIN(XXX):HANDLE(Pinned):XXX:Root:XXX(System.Object[])->

Означает ли "HANDLE (Pinned)" действительно , что существует GCHandle типа GCHandleType.Pinned, который укореняет этот объект?

Ответы [ 4 ]

4 голосов
/ 13 августа 2009

Скорее всего, он не закреплен, а скорее является статической ссылкой. Посмотрите здесь: http://blogs.msdn.com/dougste/archive/2005/11/25/497016.aspx

1 голос
/ 13 августа 2009

Да, это означает, что объект закреплен. Теперь вы должны найти что закрепляет объект и не позволяет собирать мусор.

0 голосов
/ 05 августа 2009

Да, это так. Еще одно возможное значение вместо закрепленного - WeakLn, что означает, что он будет собирать мусор при следующей проверке.

0 голосов
/ 05 августа 2009

Я знаю, что Карел Зикмунд, модератор MSFT по адресу http://social.msdn.microsoft.com/Forums/en-US/clr/thread/e52936b4-15c4-434f-91b9-4640df66d0c6 говорит "да". Но я ищу дополнительные мнения, понимание и т. Д. Спасибо!

...