2011-09-14 3 views
1

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

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

+2

В Process Monitor вы получаете трассировку стека для каждого записанного действия, чтобы вы могли видеть, кто открыл файл. Я не уверен, что это полезно в вашем случае, потому что я не думаю, что библиотеки DLL должны быть снова открыты, если они уже загружены, но это стоит попробовать. – eran

+0

Как я могу указать в procmon, что я хочу, например, посмотреть открытие файла «iologgingmsg.dll»? – Ghita

+0

Определите фильтр, который включает в себя, скажем: 'Path содержит iologgingmsg.dll'. Если вы получаете слишком много шума, вы можете попытаться добавить фильтр, например 'Operation is CreateFile'. – eran

ответ

2

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