【发布时间】:2011-04-19 20:53:12
【问题描述】:
我一直在使用“.NET Memory Profiler”分析 WinForm 的应用程序。
我似乎不太明白我的应用程序是如何增长到 1GB,然后是 2GB,然后是 3GB 的使用量 - 根据 Windows 任务管理器。
使用该工具的私有字节数和“所有堆中的总字节数”仅显示为 70MB 左右。在我的实例列表的顶部,它们主要是字符串,或者是对许多小对象的弱引用。
应用程序所做的只是显示一个从数据库加载数据的表单。我重复表单的显示/处理循环大约 100 次,并且增长是连续的。
我现在已经尝试了大约 3 种内存分析工具,但没有一个能告诉我这么大的内存消耗来自哪里。
谁能帮忙或猜猜它可能是什么?
谢谢。
【问题讨论】:
-
您是从 IDE 分析可执行文件还是调试版本?
-
我正在分析在调试模式下构建的 EXE,而不是通过 IDE。
-
这真的是用vb.net写的app吗?那么 WeakReference 泄漏是预期的。
-
是的,基于 .NET 2.0 的 VB .NET 应用程序。
-
@Hans Passant。这是 VB.NET 应用程序的已知问题吗?有文章链接吗?