2012-02-23 11 views
0

-o0以外の最適化レベルでアプリケーションをビルドすると、EXC_BAD_ACCESSのためにアプリケーションがクラッシュすることがあります。私はすべての可能な最適化レベル(-o1/2/3/s)を試し、アプリケーションをすべてクラッシュさせます。iOS - 最適化を使用するとアプリケーションがクラッシュする

コンパイラはLLVM 3.0です。

なぜ起こるのか?これは既知の問題ですか?

答えて

1

考えられる原因として、初期化されていない変数がないかどうかチェックします。さまざまな設定によって物が移動し、最適化されていないビルドでは「安全」なものが別のビルドに古いポインタを保持する可能性があります。

+0

私はこの方向でも考えましたが、大きなアプリでそのような変数を見つけるのは難しいです。私の検索を行うための自動ツールはありますか? –

+0

すべての警告を処理して解決することができます。最適化がオンになっている場合、警告エラー-Wuninitialized "自動変数を最初に初期化せずに使用した場合、または変数がsetjmp呼び出しによってクローバする可能性がある場合に警告する..."については、このリストを参照してください。 https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.0.1/gcc/Warning-Options.html –

関連する問題