我想确定我的应用消耗大量内存的来源。我的应用程序占用了大量虚拟内存(任务管理器中的 VM 列或 VMMap 中的专用字节)
我的应用程序是 .net 服务,但它在 C++ 对象周围使用 C# 包装器。
我试过 Red Gate Ants Memory profiler,但它只计算托管对象,不计算由非托管 C++ new 运算符分配的内存(它只是调用 Virtual Alloc)。
托管内存分析器的另一个问题是不允许跟踪调用图 - 请参见下图。
最佳答案
您可以使用 DebugDiag .它将跟踪 C# 和 C++ 对象。
关于c# - 无法检测 .NET 中的非托管内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912109/