如何隔离.NET中的内存泄漏

时间:2012-08-24 23:42:26

标签: memory-management memory-leaks garbage-collection clr memory-profiling

我之前已经问过这个问题,但很多信息似乎已经过时了。

是否可以将.NET应用程序中的内存泄漏隔离到对象类型或命名空间?是否有免费的,最新的工具可以做到这一点?

目前我正在使用 perfmon 监视私有字节和堆中的内存使用情况,但我想隔离有问题的类或代码段。

1 个答案:

答案 0 :(得分:1)

CLR Profiler(microsoft.com)为我完成了这项工作。将它附加到进程后,它可以显示堆中对象的快照图。

以下是我遵循的步骤:

  1. 在控制台中运行任务列表以获取我的Windows服务的进程ID
  2. 将CLR探查器附加到流程
  3. 点击“立即显示堆”以查看堆图
  4. 通过查看堆图,很明显Sharepoint client犯了吞噬内存并且没有释放内存的错误。