Техника отладки для отладки необычной утечки памяти

У меня есть приложение Windows (устаревшее), которое пропускает много памяти. Он не пропускает частные байты, я только вижу с помощью Process Explorer, что он время от времени загружает много экземпляров одних и тех же (тематически) Windows dll-s.

Есть ли инструмент, который я могу использовать для «ловушки» моментов, когда dll-ы сопоставляются с пространством процесса, чтобы я мог отслеживать это (с символами приложения) в исходном коде?


person Ghita    schedule 14.09.2011    source источник
comment
В Process Monitor вы получаете трассировку стека каждого записанного действия, поэтому вы можете видеть, кто открыл какой-либо файл. Я не уверен, что это полезно в вашем случае, потому что я не думаю, что библиотеки DLL нужно открывать снова, если они уже загружены, но попробовать стоит.   -  person eran    schedule 14.09.2011
comment
Как указать в procmon, например, что я хочу наблюдать за открытием файла iologmsg.dll?   -  person Ghita    schedule 14.09.2011
comment
Определите фильтр, который включает, скажем: Path contains iologgingmsg.dll. Если у вас слишком много шума, вы можете попробовать добавить фильтр, например Operation is CreateFile.   -  person eran    schedule 14.09.2011
comment
Да, я видел, что ты прав   -  person Ghita    schedule 14.09.2011
comment
@eran, если хотите, вы можете опубликовать ответ, который решил мою проблему :-)   -  person Ghita    schedule 14.09.2011
comment
Рад слышать, что это сработало! Для полноты и репутации опубликовано как ответ :)   -  person eran    schedule 14.09.2011


Ответы (1)


В Process Monitor вы получаете трассировку стека каждого записанного действия, поэтому вы можете видеть, кто открыл какой-либо файл. Определите фильтр, который включает, скажем: Path contains iologgingmsg.dll. Если у вас слишком много шума, вы можете попробовать добавить фильтр, например Operation is CreateFile.

person eran    schedule 14.09.2011