无法在.NET中检测非托管内存分配

时间:2011-08-02 12:32:14

标签: c# .net memory-management new-operator profiler

我想确定应用程序的大量内存消耗来源。我的应用程序正在占用大量虚拟内存(任务管理器中的VM列或VMMap中的专用字节)

我的应用程序是.net服务,但它使用C#包装器围绕C ++对象。

我尝试过Red Gate Ants内存分析器但它只计算托管对象,并且不计算由非托管C ++ new运算符分配的内存(它只是调用Virtual Alloc)。

托管内存分析器的另一个问题是不允许跟踪调用图 - 请参见下图。

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以使用DebugDiag。它将跟踪C#和C ++对象。