使用监视多个项目的内存分析器

时间:2011-07-15 15:48:21

标签: c# silverlight memory-management profiler

我正在开发一个Silverlight 4项目,并且在我接手之前显然存在重大内存泄漏。我尝试了两个不同的分析器,它们挂钩到VIsual Studio 2010,我注意到快照之间的数据没有变化。就在那时我意识到它没有显示我的大部分数据,也没有显示任何自定义类。

我认为正在发生的事情是它只显示了我对“启动项目”的内存使用情况,但是还有许多其他支持项目实际上正在进行包含泄漏的繁重工作。是否有可以显示多个项目内存使用情况的分析器?

到目前为止,我已经使用过来自memprofiler.com的ANTS。我试过WinDbg,但我无法让它工作,所有使用它的说明看起来都很旧。

非常感谢任何帮助。

编辑: 找到的解决方案是正确设置ANTS指向托管应用程序的网站,最终显示所有内容。调试的本地版本不会显示相同的数据。

编辑2: 连接到网络上的silverlight应用程序似乎一样好。

2 个答案:

答案 0 :(得分:1)

尝试连接到许多进程的问题是应用程序必须与多个COM分析器通信(每个进程1个)并且可能没有内置这种复杂性 - 但是没有什么可以阻止您运行多个主机/分析器在同一时间。

注意:我已经使用ClrProfiler4来查找silverlight应用程序中的内存泄漏(发现我们已经(重新)发现了Silverlight工具包中的上下文菜单内存泄漏)

它运作得很好,不是最漂亮的分析师,但你对免费的期望是什么。

答案 1 :(得分:0)

我能够通过ANTS的帮助对项目进行一些修复,他们的支持页面RedGate Support帮助了一些,但我认为他们没有关于如何配置Silverlight应用程序的最佳建议。

从我听到的内容来看,目前对于Silverlight应用程序的描述并不那么容易,以及我从ANTS获得的信息是我猜想的所有我可以期待的,而无需使用更多的“动手”工具。如果我继续摆脱内存泄漏,其他人需要在Silverlight中进行分析,我将在以下这些网站上工作

Hunting Down Memory Leaks in Silverlight

MSDN Magazine

相关问题