我想使用 .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/