Не удается обнаружить неуправляемые выделения памяти в .NET - PullRequest
5 голосов
/ 02 августа 2011

Я хочу определить источник огромного потребления памяти моего приложения. Мое приложение потребляет много виртуальной памяти (столбец VM в диспетчере задач или частные байты в VMMap)

Мое приложение - сервис .net, но оно использует оболочки C # вокруг объектов C ++.

Я попробовал профилировщик памяти Red Gate Ants, но он считает только управляемые объекты и не считает память, выделенную неуправляемым новым оператором C ++ (который просто вызывает Virtual Alloc).

Другая проблема с управляемым профилировщиком памяти заключается в том, что он не позволяет отслеживать график вызовов - см. Рисунок ниже.

enter image description here

enter image description here

1 Ответ

3 голосов
/ 08 августа 2011

Вы можете использовать DebugDiag . Он будет отслеживать объекты C # и C ++.

...