Monotouchを使用してiPhoneアプリケーションを作成していますが、最近アプリがクラッシュし始めました。
Mprotect failed at 0x863a000 (length 8192) with errno 12
続いて、かなり長いスタックトレースと、「アプリケーションがシグナル6で異常終了した」ことを通知するSpringboardが続きます。
私は、アプリがiPhoneで利用可能なすべてのメモリを使い果たしたと述べているこの質問を読みました。いくつかの一般的な廃棄パターンをアプリに適用し、通常、重いオブジェクトはできるだけ早く廃棄しました。これは、アプリがより少ないメモリを使用して実行されることを意味します。ただし、MProtectに失敗したというメッセージが表示されます。
また、機器の下でアプリを実行しているときに、機器がデバイスで使用できる空きメモリが十分にあることを報告していることにも注意してください(約40MB)。
私はそれを正しく理解していないと思うので、誰かがMProtectとこの失敗を説明できるかどうか疑問に思いました。