0

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

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

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

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

4

3 回答 3

2

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

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

哪些策略和工具可用于查找 .NET 中的内存泄漏?

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

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

于 2012-06-13T19:01:39.410 回答
1

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

市场上有一些内存分析器可用。Net Memory ProfilerJetBrains dotTrace来自 RedGate 的 ANTS Profiler

于 2012-06-13T19:13:21.623 回答
0

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

于 2012-06-13T19:19:36.770 回答