我正在使用 Monotouch 编写一个 iPhone 应用程序,最近该应用程序开始崩溃,说明
Mprotect failed at 0x863a000 (length 8192) with errno 12
随后是相当长的堆栈跟踪和 Springboard 通知“应用程序异常退出,信号 6”。
我读过这个问题,它指出该应用程序已经用尽了 iPhone 上的所有可用内存。我们在应用程序中应用了一些通用的 Dispose 模式,并且通常会尽快处理任何重物。这意味着应用程序现在使用更少的内存运行。但是,我们仍然收到 MProtect 失败消息。
还需要注意的是,当在仪器下运行应用程序时,仪器报告有大量可用内存可供设备使用(~40mb)。
我想知道是否有人能够解释 MProtect 和这次失败,因为我认为我没有完全理解它。