如何使用 IntelliTrace Standalone Collector 检测生产 .Net 应用程序中的内存泄漏?
Posted
技术标签:
【中文标题】如何使用 IntelliTrace Standalone Collector 检测生产 .Net 应用程序中的内存泄漏?【英文标题】:How to use IntelliTrace Standalone Collector to detect memory leaks in production .Net applications? 【发布时间】:2012-07-06 21:57:28 【问题描述】:Visual Studio 2012RC 能够使用 IntellitTrace Standalone Collector 收集的 IIS 应用程序池数据的外部收集跟踪文件。我知道在我的生产应用程序中存在某种内存泄漏,经过几个小时的监控就会很明显。
我现在准备好插入 VS2012 的大型 iTrace 文件,但想知道如何找到有问题的对象。
我也在使用调试器工具并遵循these 说明。但是,在尝试执行 .load SOS 或任何其他命令时遇到错误,表明未加载适当的 CLR 文件(或类似文件)。
我希望在 IntelliTrace 分析器中看到类似的地址列表和消耗的内存 - 这可能吗?
我们将不胜感激。
【问题讨论】:
【参考方案1】:Intellitrace 仅分析事件和方法调用。您不会获得有关单个对象或内存泄漏的信息,因为它没有跟踪内存。也没有为对象创建/销毁提供任何事件,因此在任何情况下您都无法推断。
要跟踪内存,您必须在应用程序上使用分析工具,但不要将它们附加到您的生产服务器!为它使用一个测试环境,看看你是否可以复制这个问题。
【讨论】:
以上是关于如何使用 IntelliTrace Standalone Collector 检测生产 .Net 应用程序中的内存泄漏?的主要内容,如果未能解决你的问题,请参考以下文章
调试器和 Intellitrace 在长 SqlCommand.CommandText 的文本查看器中显示截断的文本
推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)