Windbg! gcroot <address> does not return roots

What does this mean if? Does gcroot return an empty thread list?

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

I have a lot of records in progress! dumpheap -type System.String, but most of them do not return anything as an example above.

+3
source share
2 answers

There are no roots for these objects, and when the GC starts, it will collect objects.

+5
source

If you say that you have many lines without roots, maybe many of them are quite large lines (over 85k), and therefore they are stuck in LOH, and therefore they cannot be collected as often as necessary. See this topic for more details:

WinDbg ,

+4

Source: https://habr.com/ru/post/1768069/


All Articles