.NET(ASP.NET 应用程序)内存泄漏诊断工具

9
我们需要一个工具来轻松检测ASP.NET应用程序中的内存泄漏。我们有一个应用程序,它消耗了大量的内存。
谢谢。
9个回答

4

我在MSDN上发布了一篇关于这个主题的新文章。它包含了一些工具列表。


我想我知道自定义工具部分使用的屏幕。 我们曾经一起开发过同一个产品 :) - pix

4

使用WinDbg并不像使用dotTrace那么容易,但它可以帮助您发现应用程序中的许多奇怪问题。除此之外,您还可以在Tess Ferrandez的博客上找到有关调试ASP.Net应用程序的宝贵信息。


+1 for Tess的博客 - 在Tech.Ed上看过她的演讲 - 她真的很懂行,而且她的博客充满了有关在ASP.NET应用程序中追踪问题的有用技巧。 - Zhaph - Ben Duguid
她准备准备一个新的实验室设置 :) - idursun

4

2

那么,"轻松地"实现就是关键... 但是dotTRACE 可能值得一试。


2

可以查看微软的FxCop,它还可以分析性能问题等。


1

.Net Memory Profiler。曾经使用过试用版,对我很有帮助,但是我不需要它的频率高到足以购买一个。

我发现的一件事是,始终确保处理任何实现IDisposable的资源,特别是在DirectoryServices中。


1
其实,如果您打算再次使用它们,请不要尝试处理可丢弃的静态资源,例如Brushes.Black :) 我曾经吃过这个亏... - Spikolynn

0

我也觉得这个很有用:http://www.codeproject.com/Articles/19490/Memory-Leak-Detection-in-NET

以下是一些有趣的要点:

  1. 使用 Perfmon 监控 .Net CLR Locks/# 当前逻辑线程数,以查看是否正在创建线程而未将其销毁。
  2. 使用 Perfmon 比较 .Net CLR/# Bytes 和 Process/Private bytes,以查看是托管内存还是非托管内存泄漏。
  3. 假设是托管内存泄漏,使用 windbg/sos.dll 找出引用。

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接