我知道这个问题之前已经回答过了,但我想提出一个不同的问题。
是否有任何可以想象的方式来实现 GC.GetAliveInstancesOf(),可以在 Visual Studio Debug Watch 窗口中进行评估?Sasha Goldstein 在本文中展示了一种解决方案,但它要求您要查询的每个类都继承自特定的基类。
我要强调一下,我只想在调试期间使用此方法,所以我不在乎 GC 可能会在运行时更改对象在内存中的地址。
一个想法可能是以某种方式利用 SOS 的!dumpheap –type 命令,并做一些魔术来创建一个临时变量并让它指向 SOS 打印的内存地址。
有没有人有一个有效的解决方案?