Странная проблема утечки памяти - PullRequest
0 голосов
/ 10 марта 2009

Я использую элемент управления ActiveX, который является просто обработчиком HTTP. Он отправляет HTTP-запрос, получает ответ и запускает событие для пользователя. Когда пользователь не запрашивает элемент управления ActiveX в значительной степени бездействует. Он просто ожидает от пользователя запроса на отправку еще одного HTTP-запроса.

Пока окно, в котором находится OCX, не меняется (потеря фокуса, получение фокуса и т. Д.), Память остается спокойной. Для каждой из вышеперечисленных операций я теряю около 400 байтов.

Где искать возможную утечку?

Ответы [ 2 ]

1 голос
/ 10 марта 2009

Предполагая, что строка HTTP передается через BSTR s, вы можете столкнуться с BSTR caching . Для проверки вам нужно установить переменную окружения OANOCACHE равной 1 или вызвать OaSetNoCache() напрямую. Переменная среды должна быть проще для тестирования.

0 голосов
/ 10 марта 2009

Посмотрите на готовые инструменты профилирования, которые могут обнаружить эту утечку (даже в режиме отладки в VC есть опция отслеживания утечек выделенных ресурсов).

...