【问题标题】:FxCop and memory leak huntingFxCop 和内存泄漏搜寻
【发布时间】:2012-06-16 19:15:50
【问题描述】:

根据 MSDN,FxCop 是一个应用程序,它分析托管代码程序集(针对 .NET Framework 公共语言运行时的代码)并报告有关程序集的信息,例如可能的设计、本地化、性能和安全改进。

FxCop 是否有任何预定义的规则,可用于发现潜在的内存泄漏代码?

更新:这是我使用 ANTS Memory Profiler 进行调查的结果 - link

它只显示非托管内存增加。也许我没有以正确的方式使用它。如果有任何建议,我会很高兴

【问题讨论】:

    标签: c# .net fxcop


    【解决方案1】:

    FxCop 具有与未处置对象相关的规则。未能调用 Dispose 或以其他方式(通过使用块)处理实现 IDisposable 的对象可能会导致泄漏。但是,我不会将 FxCop 视为识别内存泄漏的主要工具。

    这些 StackOverflow 问题涵盖了专门为识别内存泄漏而创建的合适工具的主题:

    What strategies and tools are useful for finding memory leaks in .NET?

    https://stackoverflow.com/questions/2259433/how-to-detect-memory-leaks-in-c-sharp-application

    我过去使用过的工具之一是 AQTime,它可以进行性能分析和分配分析。标准版免费使用:http://smartbear.com/products/free-tools/aqtime-standard

    【讨论】:

    • 那么,如果你是我,你会用什么?
    • 我们主要使用内存验证器。它是一种商业产品,但它有一个试用期,允许个人或组织有机会试用它,看看它能做什么,以及它是否物有所值。
    【解决方案2】:

    CLR Profiler 是免费的,包括一些内存分析工具。这是 .NET 4 的一个: http://www.microsoft.com/en-us/download/details.aspx?id=16273

    【讨论】:

      【解决方案3】:

      FxCop 不是发现内存泄漏的正确工具。您可以使用它来确保您的代码遵循既定准则。

      市场上有一些内存分析器.Net Memory ProfilerJetBrains dotTraceANTS Profiler from RedGate

      【讨论】:

        猜你喜欢
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-11
        • 2010-12-02
        相关资源
        最近更新 更多