如何确定非托管代码使用的内存量

时间:2008-09-19 14:23:04

标签: com unmanaged arcobjects

我正在攻击一个大型COM库(ArcObjects)而我正试图引发内存泄漏。
确定非托管代码/对象使用的内存量的最可靠方法是什么 可以使用哪些性能计数器?

2 个答案:

答案 0 :(得分:2)

使用UMDH获取内存堆的快照,运行两次,然后使用工具显示两个快照之间发生的所有分配。这非常适合帮助您追踪可能泄漏的区域。

This article以简单的方式解释。

我建议您使用CComPtr<>包装你的对象,不要忘记你必须在将它传递给一个返回原始指针引用的函数之前释放它(因为转换操作符将用于获取指针然后被覆盖)

答案 1 :(得分:0)

进程的“虚拟字节”计数器表示进程已保留的内存总量。如果你有内存泄漏,那么这将会向上发展。