如何追踪COM内存泄漏

时间:2010-05-04 18:02:25

标签: c++ com memory-leaks

我正在尝试追踪COM对象中的内存泄漏,我没有看到任何明显错误的内容。我可能错误地使用了一些COM包装器,但是我找到内存泄漏的标准工具包(AQtime)并没有帮助我使用COM。有没有人有任何技巧/工具来追踪COM内存/参考泄漏?

2 个答案:

答案 0 :(得分:4)

如果您正在使用ATL,则可以定义_ATL_DEBUG_INTERFACES(请参阅MSDN entry)。这肯定会帮助你捕获任何泄漏的接口,尽管显然它不会有助于捕获在对象内部泄漏的任何资源。

答案 1 :(得分:3)

检查COM对象是否完全释放。通常,AddRef + Release返回当前引用计数以用于调试目的(您不应该依赖于生产代码)。

否则,只是一般建议:减少所涉及的代码 - 你是否只是在创建和发布实例时得到泄漏?经过一定的方法调用?