Я использовал CF Remote Performance Monitor , однако, похоже, он отслеживает только память, инициализированную в управляемом мире, в отличие от неуправляемого мира. Что ж, я могу только предположить это, так как числа, перечисленные в профилировщике, не соответствуют максимально допустимому (32 МБ в CE 5). Профилирование конкретного приложения с помощью RPM показало мне, что общее использование всех кэшей только достигает примерно 12 МБ, а затем медленно уменьшается, поскольку (я предполагаю) что-то неуправляемое начинает требовать больше памяти.
Слайдер памяти в системе также показывает, что устройству очень мало памяти. Если я убью процесс, ползунок покажет всю память, возвращающуюся. Таким образом, это должен быть (?) Этот управляемый процесс, который поглощает память.
Есть ли какой-нибудь простой (ish?) Способ, каким образом можно каким-то образом отслеживать использование неуправляемой памяти, что может позволить мне сопоставить его с соответствующими вызовами P / Invoke?
РЕДАКТИРОВАТЬ: Для всех вас re-taggers это не .NET , пометка вопроса, как это путает вещи. Это .NETCF / Compact Framework. Я знаю, что они кажутся похожими, но они разные, потому что .NET качается, тогда как CF - просто оболочка вокруг NotImplementedException.