gpt4 book ai didi

c# - Silverlight 内存泄漏

转载 作者:太空狗 更新时间:2023-10-29 21:03:10 27 4
gpt4 key购买 nike

我们有一个相当大的 silverlight 4 应用程序。我们正在寻找应用程序中的内存泄漏,这已成为一项艰巨的任务。

对于那些看过原帖的人来说,这一篇完全改变了!

我意识到 ANTS 内存分析器没有向我显示正确的内容。那是因为内存泄漏不在托管代码中,而是在 native 代码中。我确实修复了 ANTS 的一些问题 - 它是解决托管代码内存泄漏的好工具。

所以我找到了这个博客,

http://blogs.msdn.com/b/slperf/archive/2010/08/19/analyzing-silverlight-memory-usage-part-1-obtaining-measurements.aspx

非常棒。我使用 xPerf 和 xPerfViewer 查看 native 堆并查看我怀疑的实际内存泄漏。

所以我可以看到如下所示的堆栈跟踪,

CCoreServices::Draw
CCoreServices::Tick
CUElement::Render
CUIElement::Render
CUIElement::RenderWithTransform
CUIElement::RenderVisual
CUIElement::RenderChildren
{Repeat of the above in a recursive fashion}

所以在这个“Render”方法中,它在某个地方分配了大约 520 字节的内存,据我所知,它并没有释放它。

我还可以看到一个名为

的方法或类
SDBitmapCreate

也在泄漏内存。

很有趣,因为我好像找到了什么,但我不太确定是什么。

还有什么建议吗?

谢谢。

最佳答案

这里有一个很好的解决 Silverlight 内存泄漏问题的教程:http://davybrion.com/blog/2009/08/finding-memory-leaks-in-silverlight-with-windbg/ .它很复杂,而且您必须处理 WinDBG 命令,但我发现它在过去很有用。当然,这并不能具体回答您的问题,但它可能会为您指明正确的方向。

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

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