在托管的Win8 metro应用程序中查找内存泄漏?

我目前正在使用C#和SharpDX为Windows 8开发一款地铁游戏。 该项目进展顺利,但最近需要开始追踪内存泄漏,我不确定从哪里开始。

Visual Studio 11中的内置内存分析器不适用于Metro应用程序,WinDBG似乎无法连接到metro应用程序(除非我使用不正确),而且我很难找到任何有关查看.NET 4.5 for metro中的托管分配。

有人对这个有经验么? 有一个好地方开始寻找? 有没有人成功使用工具来帮助检测Metro应用中的内存泄漏?

看起来我实际上可以使用WinDbg,它只是没有使用入侵模式。 我的错。

至少现在,我会假设内存泄漏不是由Metro或SharpDX引起的。

看看这个: 内存泄漏C#

(或者只搜索SO“C#内存泄漏”。)

一旦您浏览了从上面的链接/搜索查询收集的内容清单,然后转到检查与SharpDX / Metro相关的代码。 我小时候最好的指导来自我的妈妈:“你玩完后自己清理干净。” 完成后处理对象,不要让DB,文件或内存流打开的时间超过您的需要。 这是许多人的内存泄漏问题的原因,包括我的。

我建议你使用这个http://msdn.microsoft.com/en-us/magazine/jj721593.aspx 。 关于内存泄漏有很多解释。