Можно ли отслеживать распределение / освобождение?

StackOverflow https://stackoverflow.com/questions/50391

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top