代码之家  ›  专栏  ›  技术社区  ›  Steve

如何跟踪COM内存泄漏

  •  7
  • Steve  · 技术社区  · 14 年前

    我正试图追踪一个COM对象中的内存泄漏,我没有发现任何明显的错误。我可能错误地使用了一些COM包装器,但是我的标准工具包(aqtime)并不能帮助我使用COM。是否有人有任何技巧/工具来跟踪COM内存/引用泄漏?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Stu Mackellar    14 年前

    如果您使用的是ATL,则可以定义“ATL调试”接口(请参见 MSDN entry )这当然会帮助您捕获任何泄漏的接口,尽管很明显它不会帮助捕获对象内部泄漏的任何资源。

        2
  •  3
  •   peterchen    14 年前

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

    否则,只需要一般性的建议:减少所涉及的代码——当您创建和释放实例时,是否会得到泄漏?在某个方法调用之后?