0

我使用一个 ActiveX 控件,它只是一个 HTTP 处理程序。它发出一个 HTTP 请求,获取响应并向用户触发一个事件。当用户没有请求时,ActiveX 控件几乎处于休眠状态。它只是等待用户请求发送另一个 HTTP 请求。

只要 OCX 所在的窗口没有改变(失去焦点、获得焦点等),内存就会保持平静。对于上述每个操作,我都会丢失大约 400 个字节。

我应该在哪里寻找可能的泄漏?

4

2 回答 2

1

假设 HTTP 字符串是通过BSTRs 传递的,您可能会遇到BSTR缓存。要进行验证,您需要将环境变量设置OANOCACHE为 1 或OaSetNoCache()直接调用。环境变量应该更容易测试。

于 2009-03-10T11:25:13.130 回答
0

寻找可以检测到这种泄漏的现成分析工具(甚至 VC 中的调试模式也可以选择跟踪泄漏的分配)。

于 2009-03-10T11:15:18.490 回答