1

我的 NETCF 应用程序中某处发生内存泄漏,但我没有得到带有漂亮堆栈跟踪的“OutOfMemoryException”来跟踪它,而是得到了一个大的白色畏缩“程序内存...”对话框,并且必须重新启动设备。谁能给我或指出一组很好的指示来禁用“程序内存”对话框,并改为引发 OutOfMemoryException?

有人建议我将我的操作系统设计中的“基于 UI 的通知”组件替换为“非基于 UI 的通知”组件,但这对我不起作用,因为管理员用户需要能够使用 WinCE shell,它有对“基于 UI 的通知”组件的依赖。

4

1 回答 1

0

一种可能的解决方法是手动监控内存使用情况。您可以使用本机 API GlobalMemoryStatus()来获取当前的内存负载(正在使用的系统内存的百分比)。如果您的内存使用量突然激增,这将无济于事,但如果它是一个缓慢的泄漏,您应该能够在系统因内存对话框挂起之前捕获它。我们以这种方式使用它来确保设备会自动记录错误并在发生错误时重新启动。

于 2011-09-21T20:15:48.457 回答