CLR Profiler - 附加到现有流程

memory .net-2.0 clr profiler

4547 观看

5回复

14148 作者的声誉

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

但是,CLR Profiler只允许我启动应用程序,而不是附加到现有应用程序。我认为这是因为它也跟踪分配和GC,但我对此不是很感兴趣。我想要一些能够获取堆当前状态的快照的东西,并向我显示存在的内容以及每种对象的数量,以及每种对象类型使用的总字节数。

有任何想法吗?

作者: Daniel Magliola 的来源 发布者: 2008 年 8 月 29 日

回应 (5)


0

118389 作者的声誉

你看过RedGates .NET Profiler吗?

自从我使用它以来已经有一段时间了,但我很乐意你随时可以附加到任何CLR进程。

作者: FlySwat 发布者: 29.08.2008 01:06

3

15523 作者的声誉

决定

.Net Memory Profiler正是您所需要的。它不是免费的,但有一个试用版。实际上我用试验来发现我们上一个项目的漏洞。一个值得注意的特点是:

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

我想这就是你要找的东西。

作者: jfs 发布者: 29.08.2008 01:37

9

2375 作者的声誉

  • 附加调试器

cdb -p

  • 加载.net调试器扩展

.loadby sos mscorwks

  • 以CLRProfiler理解的格式转储堆

!TraverseHeap heap.txt

  • 分离调试器

QD

  • 在clrprofiler应用程序中加载heap.txt
作者: Peli 发布者: 28.09.2008 04:01

1

101 作者的声誉

MSDN上的这篇文章讨论了如何使用免费的CLR Profiler来比较堆栈的实例。你是对的,你目前无法将CLR Profiler附加到正在运行的进程(文章解释了原因),但是,对于它的价值,听起来你很快就能做到。

作者: Doug Mulley 发布者: 04.12.2009 06:43

0

41 作者的声誉

你可以试试 Memory Reciter。它简单,自由,强大,是的,你可以附加到一个正在运行的过程... lemme知道你的想法。

作者: GANESH GANI 发布者: 15.08.2019 07:23
32x32