CLR Profiler - 附加到现有流程

Dan*_*ola 5 memory clr profiler .net-2.0

我想在.Net 2.0上使用像CLR Profiles这样的东西来查看在任何给定时间(ASP.Net工作进程)中哪些对象在堆中占用更多空间.

但是,CLR Profiler只允许我启动应用程序,而不是附加到现有应用程序.我认为这是因为它也跟踪分配和GC,但我对此不是很感兴趣.我想要一些能够获取堆当前状态的快照的东西,并告诉我那里有什么,每种对象有多少,以及每种对象类型使用了多少字节.

有任何想法吗?

Pel*_*eli 9

  • 附加调试器

cdb -p

  • 加载.net调试器扩展

.loadby sos mscorwks

  • 以CLRProfiler理解的格式转储堆

!TraverseHeap heap.txt

  • 分离调试器

QD

  • 在clrprofiler应用程序中加载heap.txt


jfs*_*jfs 3

.Net Memory Profiler正是您所需要的。它不是免费的,但有试用版。事实上,我通过这次试验来发现我们上一个项目的漏洞。一个显着的特点是:

通过收集和比较 .NET 内存快照轻松识别内存泄漏

我想这就是你所寻找的。