如果 !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 时,我有很多条目,但大多数都没有返回任何内容,如上例所示。
最佳答案
这些对象没有根,当 GC 运行时,它将收集这些对象。
关于memory-leaks - windbg !gcroot <address> 不返回根,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3864940/