Поиск источника утечек памяти, не связанных с mallo c C ++, на Windows - PullRequest
0 голосов
/ 01 апреля 2020

Есть ли что-нибудь, что я могу использовать для обнаружения всех типов использования памяти в приложении, включая COM и другие не-mallo c распределения? Помочь может даже только DLL, в которой выделены ресурсы.

У нас есть приложение, которое показывает постоянный рост памяти на 400 МБ / день только на одном из наших клиентских сайтов, но не где-либо еще.

Я пытался использовать gflags / umdh от Microsoft, но из 800 МБ / 2-дневного роста, umdh показал разницу только в 17 МБ, что является нормальным изменением памяти от минуты к минуте.

После запуска некоторых тестов, Я вижу, что umdh не обнаруживает утечки COM. Я также пробовал Intel Inspector на тестовой программе, которая пропускает через COM, но также не обнаруживает их.

Есть 3 возможных места, откуда может происходить рост: наш код, сторонние библиотеки и клиентское программное обеспечение для мониторинга приложений, которое встраивает его dll в приложение. Я изучил память процесса в Windbg и вижу, что данные в ней не генерируются непосредственно нашим кодом, поэтому я подозреваю, что рост происходит в одной из DLL, которые мы не можем контролировать.

...