Можно ли отслеживать распределение / освобождение? - PullRequest
5 голосов
/ 08 сентября 2008

Насколько я могу судить, это невозможно, поэтому я просто надеюсь на недокументированную функцию перехвата выделения в левом поле.
Я хочу, чтобы отслеживать отслеживание, как в _CrtSetAllocHook , но для C#/.NET.
Единственный видимость для сборщика / выделения мусора выглядит как GC.CollectionCount .
У кого-нибудь есть еще какая-нибудь память .NET mojo?

Ответы [ 2 ]

8 голосов
/ 08 сентября 2008

В CLR имеется «API профилирования», который используется практически во всем - я полагаю, что именно в этом используются коммерческие продукты для профилирования памяти .NET. Вот ссылка MSDN на верхний уровень документации: Общие сведения о .NET Framework: Об API профилирования

См. Статью в журнале MSDN для ознакомления с частью памяти: Проверка и оптимизация использования памяти вашей программой с помощью .NET Profiler API

1 голос
/ 09 сентября 2008

Я бы просто использовал ANTS Profiler от Red Gate. Он многое расскажет о том, что происходит в памяти, без необходимости самостоятельно изучать API профилирования.

...