我正在开发一个基于 .NET 的应用程序 (.NET 4),它在System.OutOfMemoryException上运行一段时间后崩溃
在任务管理器中检查应用程序的进程或尝试使用其他工具(如 CLR Profiler 和 ANTS Memory Profiler)时,应用程序似乎没有超出可用 RAM 或任何其他可能的限制(我相信 Windows 有每个进程的限制以及 .NET 本身可能在某种程度上受到限制)。
这是崩溃前不久 ANTS Profiler 的屏幕截图。
未管理的内存总量(如果在图像中看不清楚,则约为 285 MB,所有堆中对象的总大小约为 76MB)
我还检查了 taskmgr 中的“句柄”计数,崩溃时应用程序进程的句柄似乎约为 8120 个。
我怎样才能进一步检查发生了什么?什么可能的原因会导致这样的异常?