Не удается обнаружить неуправляемое выделение памяти в .NET

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

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

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

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

enter image description here

enter image description here

5
задан marc_s 25 January 2017 в 17:03
поделиться