根据MSDN,FxCop是一个分析托管代码程序集(面向.NET Framework公共语言运行库的代码)的应用程序,并报告有关程序集的信息,例如可能的设计,本地化,性能和安全性改进。
是否有任何预定义的FxCop规则,可用于发现潜在的内存泄漏代码?
更新:以下是使用ANTS Memory Profiler进行调查的结果 - link
它显示只有非托管内存增加..也许我没有以正确的方式使用它。我会很高兴任何建议
答案 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 Profiler,JetBrains dotTrace,ANTS Profiler from RedGate
答案 2 :(得分:0)
CLR Profiler是免费的,包括一些内存分析工具。这是.NET 4的一个: http://www.microsoft.com/en-us/download/details.aspx?id=16273