为什么dotmemory可以';t尝试连接到活动进程时收集内存流量和堆栈跟踪信息
我有一个asp.net应用程序,在该应用程序能够提供服务之前,它需要构建一个非常大的本地缓存。我想分析代码的一个特定部分。我的应用程序非常庞大,我不想完全剖析它。我只想分析服务于请求的代码路径 我开始使用为什么dotmemory可以';t尝试连接到活动进程时收集内存流量和堆栈跟踪信息,memory,profiling,Memory,Profiling,我有一个asp.net应用程序,在该应用程序能够提供服务之前,它需要构建一个非常大的本地缓存。我想分析代码的一个特定部分。我的应用程序非常庞大,我不想完全剖析它。我只想分析服务于请求的代码路径 我开始使用dotMemory跟踪我的应用程序内存使用情况。当我尝试附加到进程时 对话框上两个复选框的探查器选项:1)收集第N个对象2)收集内存流量无法检查 当尝试连接到活动进程时,为什么dotMemory无法收集内存流量和堆栈跟踪信息 我还尝试使用探查器API private void SomeMetho
dotMemory
跟踪我的应用程序内存使用情况。当我尝试附加到进程时
对话框上两个复选框的探查器选项:1)收集第N个对象2)收集内存流量无法检查
当尝试连接到活动进程时,为什么dotMemory
无法收集内存流量和堆栈跟踪信息
我还尝试使用探查器API
private void SomeMethod()
{
// Here goes your code
// ...
// Get a snapshot
if (MemoryProfiler.IsActive)
MemoryProfiler.Dump();
}
我可以得到一个快照,但应用程序先运行,然后探查器连接。我也无法获得内存流量。这是的限制。应在分析流程开始之前设置分配的标志COR_PRF_ENABLE_OBJECT_
如果无法在dotMemory下启动应用程序,我建议您在“时间线”模式下尝试JetBrains dotTrace。它使用ETW提供程序收集内存流量统计信息,并可能帮助您解决问题
p、 当您使用分析api时,如果您想收集堆栈跟踪,请不要忘记调用MemoryProfiler.EnableAllocations。非常感谢。我调用MemoryProfiler.EnableAllocations,但有一个错误:“notsupport”。现在我已经删除了代码。我记不起确切的错误描述了。我把这个建议放在了后面,因为在附加的情况下,它不会有帮助。在附件的情况下,无法获取分配信息。错误是什么:如果(MemoryProfiler.CanControlAllocations)MemoryProfiler.EnableAllocations(),则以以下方式进行保护调用;