如何检测使用COM互操作的C# Winform应用程序中的内存管理问题?该应用程序引用了一个COM程序集,并且在许多计算和事务中使用了它的方法。
是否有任何工具可以识别已加载到内存中但未卸载的对象[interop]。
如何检测使用COM互操作的C# Winform应用程序中的内存管理问题?该应用程序引用了一个COM程序集,并且在许多计算和事务中使用了它的方法。
是否有任何工具可以识别已加载到内存中但未卸载的对象[interop]。
COM组件的RCW只是一个托管类。任何半靠谱的.NET内存分析器都会显示出任何无意中保留的引用。如果COM服务器本身存在泄漏,则需要使用可以跟踪非托管内存的分析器。这通常需要拥有服务器的源代码,以便您可以确定确切的泄漏内容,并采取实际行动。
已经有无数关于.NET内存分析器的问题了。在右上角的搜索框中输入“.NET内存分析器”即可。
尝试使用AQTime分析器,我已经使用它一段时间了,它具有良好的非托管(com)和托管应用程序分析器,您可以从这里下载演示版: http://smartbear.com/products/development-tools/performance-profiling/sign-up/