如何设置项目的调试实例内存限制

Tal*_*Tov 5 .net c# visual-studio-2008

我们有一个项目正在获得“内存不足异常”。我正在尝试调试此内存泄漏问题。问题是生产机器具有大约1-2 GB的内存,而开发机器具有6 GB。而且我发现重现崩溃非常困难。

在Visual Studio中,有没有一种方法可以减少允许分配给调试实例的内存量?

Han*_*ant 1

机器中的 RAM 量与 OutOfMemoryException 无关。当进程耗尽虚拟内存,无法在地址空间中找到足够大以适应分配请求的漏洞时,您将收到该异常。当 32 位计算机上进程的 VM 大小开始接近 1.5 GB 时,通常会发生这种情况。

限制虚拟内存空间的大小很容易,只需在程序开始时创建一堆 byte[] 数组并将它们存储在静态变量中即可。这根本无法帮助诊断内存泄漏,它只是更快地触发异常。使用内存分析器来查找真正的问题。

并且请考虑这根本不是泄漏的可能性,垃圾收集器并不那么容易泄漏。但这只是程序处理和存储大量数据的副作用。这个问题可以通过 64 位操作系统轻松解决,它提供大量虚拟内存空间,仅受分页文件最大大小的限制。不是内存。