背景: 我们正在构建一个快速交付WPF应用程序的框架。该框架使用Autofac作为IoC容器,并使用来自Prism v1的区域。我们使用Microsoft的Parallel扩展调度任务。
我们面临以下问题: 当我们使用空视图(只有包含区域和占位符控件的外壳)启动应用程序时,内存将保持稳定约60秒,之后每秒增加4kb,然后4kb,之后8kb。因此,每3秒我们的内存压力增加16Kb。
我们尝试了以下方法来追踪泄漏: 我最初使用dotTrace,但是我无法看到两个快照之间30分钟的任何差异。 转而使用.NET内存分析器,因为它可以提供更多信息,但是我们仍然无法看到两个快照之间的任何差异。 我们可以看到创建了一些对象,但它们也被删除了,结果是0的增量。 所以我转向windbg,但结果是相同的。
另一个奇怪的事情是,当我们启动sysinternals dbgvw时,我们不会在我们的应用程序中看到任何调用。
您有任何建议吗?我们下一步应该尝试找出罪魁祸首是谁/是什么?