windbg! gcroot <address>не возвращает корней - PullRequest
3 голосов
/ 05 октября 2010

Что это значит, если! Gcroot возвращает пустой список потоков?

0:000> !gcroot 0000000010817c50 
Note: Roots found on stacks may be false positives. Run "!help gcroot" for
more info.
Scan Thread 2 OSTHread 15a4
Scan Thread 10 OSTHread 1db4
Scan Thread 11 OSTHread 147c
Scan Thread 12 OSTHread 15d4
Scan Thread 14 OSTHread 9dc
Scan Thread 15 OSTHread 12a4
Scan Thread 21 OSTHread 18c4
Scan Thread 23 OSTHread 1260
Scan Thread 24 OSTHread 16c8
Scan Thread 25 OSTHread bd4
Scan Thread 26 OSTHread de8

У меня много записей при выполнении! Dumpheap-type System.String, но большинство из них ничего не возвращают в качестве примеравыше.

Ответы [ 2 ]

5 голосов
/ 05 октября 2010

У этих объектов нет корней, и при запуске GC он будет собирать объекты.

4 голосов
/ 22 июля 2011

Если вы говорите, что у вас много строк без корней, возможно, многие из них представляют собой довольно большие строки (более 85 КБ), поэтому они застряли в LOH и поэтому могут не собираться какчасто по мере необходимости.См. Эту тему для более подробной информации:

WinDbg не сообщает мне, где находится моя строка

...