Выяснение того, сколько объектов было утилизировано сборщиком мусора в C # - PullRequest
0 голосов
/ 24 сентября 2010

Мне интересно узнать, сколько объектов было утилизировано сборщиком мусора после запуска следующего кода.

if (ObjectsOutstanding > GCThreshold) {
    System.GC.Collect();
}

Ответы [ 2 ]

2 голосов
/ 24 сентября 2010

Одним из простых способов сделать это для ваших собственных пользовательских типов будет увеличение и отслеживание некоторого счетчика в их финализаторах.

, например

public class MyCustomType
{
    public static int NumFinalizersCalled;

    ~MyCustomType()
    {
        Interlocked.Increment(ref NumFinalizersCalled);
    }
}
0 голосов
/ 24 сентября 2010

В отладчике Visual Studio вы можете использовать библиотеку SOS в ближайшем окне. Есть несколько методов GC, которые дают вам необходимую информацию. Я не знаю, хотите ли вы этого, но это отправная точка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...