gpt4 book ai didi

c# - 追踪 WPF 中的内存泄漏

转载 作者:行者123 更新时间:2023-11-30 18:45:15 28 4
gpt4 key购买 nike

上下文:我们正在构建用于快速交付 WPF 应用程序的框架。该框架使用 Autofac 作为 IoC 容器,还使用 ​​Prism v1 中的区域。我们正在使用 Microsoft 的并行扩展来安排任务。

我们面临以下问题:当我们用空 View 启动应用程序时(所以只有一个带有区域和占位符控件的 shell),内存将保持稳定大约 60 秒,之后它大约每秒增加 4kb,然后是 4kb,然后是 8kb。因此,每 3 秒我们的内存压力就会增加 16Kb。

我们试图追踪泄漏的内容。我开始使用 dotTrace,但我看不出 2 个相隔 30 分钟的快照之间有任何区别。转到 .NET 内存分析器,因为它为我提供了更多信息,但同样我们看不到 2 个快照之间的任何差异。我们可以看到创建了许多对象,但它们也被删除了,导致增量为 0。所以我转向 windbg,但结果是一样的。

另一个奇怪的事情是,当我们启动 sysinternals dbgvw 时,我们没有看到在我们的应用程序中进行任何调用。

对于我们下一步可能会尝试找出什么/谁是罪魁祸首,您有什么建议吗?

最佳答案

如果您正在寻找非托管泄漏并且正在使用 visual studio,您可以使用内置的 crt 函数获得非常有用的信息:

an answer to a related question

关于c# - 追踪 WPF 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/801589/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com