memory - CLR Profiler - 附加到现有进程

标签 memory .net-2.0 clr profiler

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

但是,CLR Profiler 只允许我启动一个应用程序,而不能附加到现有应用程序。我认为这是因为它也跟踪分配和 GC,但我对此不太感兴趣。我只想要一些能够拍摄堆当前状态的快照,并向我显示其中有什么以及每种类型有多少个对象,以及每种对象类型总共使用了多少字节。

有什么想法吗?

最佳答案

  • 附加调试器

cdb-p

  • 加载 .net 调试器扩展

.loadby sos mscorwks

  • 以 CLRProfiler 理解的格式转储堆

!TraverseHeap heap.txt

  • 分离调试器

每日

  • 在 clrprofiler 应用中加载 heap.txt

关于memory - CLR Profiler - 附加到现有进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727/

相关文章:

java - Java 中哪个更有效的整数数组大小

c++ - memcpy 仅通过 C++ 复制一个字节

javascript - JavaScript 中释放内存的正确方法

c# - 任何人都可以告诉这是什么类型的转换

c - 指向其声明范围之外的局部变量的指针

visual-studio-2010 - C# 编译器允许接口(interface)代替通用派生版本?

.net - 在没有 FileSystemWatcher 的情况下监视目录以创建新文件

c# - 我的程序集实际运行的是哪个版本的 .Net 框架?

programming-languages - 是否有同时适用于 JVM 和 CLR 的静态类型语言?

c# - C# 未初始化的变量危险吗?