FxCop和内存泄漏狩猎

时间:2012-06-13 18:54:58

标签: c# .net fxcop

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

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

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

市场上有一些内存配置文件可用.Net Memory ProfilerJetBrains dotTraceANTS Profiler from RedGate

答案 2 :(得分:0)

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