我们正在使用 C# 应用程序进行开发。
我们使用 COM 组件在 ImageViewer 中渲染和显示图像文件。
有时我们会收到奇怪的系统错误,因为“无法创建堆栈的新保护页”。
出现此错误后,应用程序退出。
有谁知道为什么会出现这个错误?由于没有特定情况可以复制相同的错误。
谢谢
最佳答案
我有同样的异常(exception),但在不同的背景下。我正在运行一个 Windows 服务来做一些非常繁重的处理(这里没有 COM 对象)。
就我而言,我发现我的代码中存在内存泄漏,导致错误“无法创建堆栈的新保护页”。由于内存不足。
我知道你的问题现在已经有 2 年历史了..即使我分享这个是为了帮助任何 future 的读者。 VS 2015 现在有一个很好的工具可以在调试期间监控内存使用情况。
- - - - 编辑 - - -
此异常的另一个常见情况是由于递归调用而耗尽堆栈。
关于c#-4.0 - 无法为堆栈创建新的保护页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780196/