Я знаю, что на ответили раньше , но я бы хотел задать несколько иной вопрос.
Есть ли какой-нибудь мыслимый способ реализации GC.GetAliveInstancesOf (), который можно оценить в окне Visual Studio Debug Watch? Саша Гольдштейн показывает одно решение в этой статье , но требует, чтобы каждый класс, который вы хотите запросить, наследовал от определенного базового класса.
Подчеркну, что я хочу использовать этот метод только во время отладки, поэтому мне все равно, что GC может изменить адрес объекта в памяти во время выполнения.
Одна идея может заключаться в том, чтобы каким-то образом использовать команду ! Dumpheap –type SOS и выполнить магический трюк, чтобы создать временную переменную и указать ей адрес памяти, напечатанный SOS.
У кого-нибудь есть решение, которое работает?