Компактный каркас AppVerifier и управляемого кода. Много утечек памяти найдено? - PullRequest
1 голос
/ 16 февраля 2011

Я пытаюсь найти неуправляемую утечку памяти в моем мобильном проекте. Я прочитал, что я должен попытаться использовать AppVerifier, чтобы помочь найти, где утечка. После запуска программы, я получил журнал, который был + 5 МБ! В нем было так много данных, что я даже не знаю, как начать искать, где проблема. Я попытался найти свое приложение в журнале, но ни один из моих методов не был найден. Почти все утечки происходят в пределах mscoree3_5.dll

Я делаю несколько P / Invokes, использую Кисти, Шрифты, Ручки, Битовые карты, IImage (и другие вещи API изображений), но все они могут быть отслежены (насколько я могу судить) до using или 1005 *. Я могу ошибаться в этом предположении, но я не знаю, как сказать! FxCop не находит никаких предметов, которые не утилизируются, и каждый раз, когда я читаю код, я не могу найти ни одного.

Мой вопрос: как проще всего найти, где объекты, которые могут быть утилизированы, но не удалены, или неуправляемая память не очищается из управляемого кода? Кроме того, все, что необходимо освободить, утилизировать или что-либо еще в API-интерфейсах Imaging (интерфейс IImage, IImageFactory и т. Д.)

Спасибо за любую помощь!

1 Ответ

1 голос
/ 16 февраля 2011

AppVerifier - это встроенный инструмент для работы с приложениями, который вам не поможет.Вам необходимо использовать CLR Profiler и Remote Performance Monitor .

...