M.A*_*nin 3 .net vb.net memory-leaks weak-references
我有一个问题,看起来像我的一个应用程序中的内存泄漏(应用程序使用更多的内存随着时间的推移,在它挂起大约一周的工作后).
我已经检测并修复了一些与我编写的类相关的泄漏(比较sos.dll采用的堆转储快速显示它们),并且数量不再增加.
目前,随着时间的推移,唯一显着增加的是WeakReference实例,它以WeakReference每分钟1,000个新实例的稳定速率增长.
我的代码没有WeakReference直接使用,我自己从不创建.
什么可能导致WeakReference创建这么多实例?
我正在使用VB.NET,Visual Studio 2008和.NET 3.5
是的,这是VB.NET程序集中相当臭名昭着的泄漏.它是由弱引用引起的,它跟踪使用WithEvents关键字声明的事件.完成此跟踪以支持"编辑并继续".它为类中声明的每个WithEvents事件泄漏一个WeakReference实例.需要附加调试器以释放那些WeakReference对象.
解决方法很简单.发布Release版本,而不是Debug版本.
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |