我的.NET应用程序有内存泄漏。似乎很少人推荐使用CLR Profiler来实现这个假设,我对这个想法有点迷茫。对我来说,为了找到内存泄漏,工具应该比较两种内存状态,这可以给你提供统计数据,比如两种状态之间对象的增长。因此,在我看来,如果一个工具不能比较两个(或更多)内存状态,它就不能用于检测内存泄漏。显然,像性能计数器这样的东西是有点不同的概念,你可以在其中趋势内存使用情况。
所以我的问题是,是否有人能解释一下,如何准确地使用CLR Profiler来检测内存泄漏?
发布于 2011-06-01 05:48:35
这取决于你有哪种类型的内存泄漏。
我们有一个可重现的例子,我们知道在工作完成后,某个特定的事件链应该总是留下一个干净的表-但事实并非如此。
所以我们简单地设置了一个测试,我们做了几千次-然后我们在堆图中查看了这些对象(数量更大),并在“根”-object上找到了为什么这些对象仍然活着的原因。它帮助我们解决了问题..。
https://stackoverflow.com/questions/5185663
复制相似问题