2008-09-08 2 views
5

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

ответ

8

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

Смотрите эту статью журнала MSDN для введения в кусок памяти: Inspect and Optimize Your Program's Memory Usage with the .NET Profiler API

1

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

Смежные вопросы