如何为.net应用程序模拟低内存?

时间:2011-12-11 18:25:51

标签: .net windows directshow.net

好吧,我必须调试内存分配问题。应用程序随着时间的推移耗尽内存。我需要为.net窗口应用程序模拟低内存系统,以便更快地重现内存不足问题。

PS:我的初步调查显示,在应用程序分配非托管资源(托管DX)时发生内存泄漏。

4 个答案:

答案 0 :(得分:9)

编写另一个分配系统所有内存的程序:)

或者,在具有低内存的VM中进行调试

答案 1 :(得分:1)

static volatile byte[] wasted; //volatile to avoid any compiler cleverness "saving" us!
static void Main(string[] args)
{
   wasted = new byte[1024 * 1024 * 1024];//waste a gig!
}

在您的应用上运行Application Verifier也是值得的。

答案 2 :(得分:0)

此外,我建议您使用.NET分析器,以便检查程序的哪个区域分配更多内存。

答案 3 :(得分:0)

如果应用程序内存不足,访问非托管资源,则可能是内存泄漏。在低内存环境中运行应用程序不会直接帮助您诊断问题,它会更快地发生。

您需要分析应用程序的内存使用情况,以确定如何分配内存并找到泄漏。正常的分析工具无济于事,因为不会分析非托管代码。您必须使用内存监控应用程序发挥创意。