Pregunta

Utilizo un control ActiveX que es solo un controlador HTTP. Envía una solicitud HTTP, obtiene la respuesta y dispara un evento al usuario. Cuando el usuario no solicita el control ActiveX está bastante inactivo. Simplemente espera una solicitud del usuario para enviar otra solicitud HTTP.

Mientras la ventana en la que reside el OCX no cambie (perder el foco, enfocar, etc.), la memoria permanecerá en calma. Para cada una de las operaciones mencionadas anteriormente, pierdo aproximadamente 400 bytes.

¿Dónde debo buscar una posible fuga?

¿Fue útil?

Solución

Suponiendo que la cadena HTTP se pasa a través de BSTR s, es posible que se encuentre con BSTR almacenamiento en caché . Para verificar, querrá establecer la variable de entorno OANOCACHE en 1 o llamar a OaSetNoCache () directamente. La variable de entorno debería ser más fácil de probar.

Otros consejos

Busque herramientas de perfilado disponibles en el mercado que puedan detectar esta fuga (incluso el modo de depuración en VC tiene la opción de rastrear las asignaciones filtradas).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top