ビルド設定でGCC_OPTIMIZATION_LEVELがNone [-O0]を使用していて、他の最適化レベルを使用しているときにEXC_BAD_ACCESSエラーが発生したときにコンパイルして正常に動作するXcode 4.3.2 iOS 5.1プロジェクトがあります。私のプロジェクトでは、GCC_VERSIONがApple LLVM 3.1(デフォルト)に設定されています。これは自分のコードに問題があることを示していますか?Xcode LLVM 3.1とGCC_OPTIMIZATION_LEVEL
2
A
答えて
0
多くの場合、コードに問題があることを示します。同様に:
- アクセスすでに解放済みメモリ
- 読み取りまたは非初期化された変数やクラスのメンバー
- 、多くの他の多くを使用して割り当てられた配列
- の範囲外のメモリを書く...
まれに、この種のクラッシュがコンパイラのバグであることが判明しました。しかしそれはまれです。より頻繁にそれがあなたのコードの問題です。
クラッシュするコードを特定し、そのコードの近くでどのように変数が使用されているかを確認してください。すべてが使用/割り当て/初期化/解放されていることを確認してください。
+0
はい、私のコードに問題がありました。私は最初にコピーせずに、後で使用するためにブロックを辞書に格納していました(作成したスコープを破棄した後)。振り返ってみると、最適化がなくてもうまくいくのは驚きです。 – Erik
関連する問題
- 1. アップルのLLVMコンパイラ3.1のエラー
- 2. Snow LeopardとXCode 3.1
- 3. XcodeのLLVMプレーンなC式
- 4. Xcode 3.1でのユニットテスト
- 5. へのアクセスのXcode LLVMのプロセッサマクロ「のApple LLVM 7.0前処理」で
- 6. Obfuscator-LLVM + xcode clang 3.4: "未知の引数"
- 7. OCUnit、NSLog、およびXCode 3.1
- 8. 差分b/w llvm-ldとllvm-link
- 9. LLVM(3.5+)PassManagerとLegacyPassManager
- 10. Xcode 3.2 + LLVM =デバッグ時にローカルシンボルがありません
- 11. llvm-gcc-4.2がiphoneのxcodeエラーで失敗しました
- 12. xcode - Apple LLVMコンパイラ3.0を使用してPowerPC CPU用にコンパイル
- 13. 未使用エンティティの問題「式未使用」XCode 4(Clang LLVM)
- 14. Mac OS X LionとXCode 4/llvm-g ++ - 4.2のコードカバレッジはありません
- 15. LLVMはXcode 4でテストカバレッジをサポートしていますか?
- 16. XCode 4.0.1に基づくLLVM 2.0を使用したiPhoneのリンクエラー
- 17. 文字列化エンドポイントのXcode LLVMのためのプロセッサマクロ「のApple LLVM 7.0前処理」で
- 18. アップルのLLVMコンパイラ4.1のエラー
- 19. Clang 3.1とC++ 11のサポート状況
- 20. Eclipse CDTとLLVM with clang
- 21. パフォーマンス比較 - gccとllvm-gcc
- 22. Adobe AlchemyとLlvm 2.5
- 23. LLVMパスエラー
- 24. XcodeにバンドルされているLLVMのバージョンは何ですか? Xcodeの6まで
- 25. Xcode 3.1のローカリゼーションリストに新しい言語を追加
- 26. GCCとLLVMとの互換性
- 27. 新しいバージョンのLLVMをコンパイルしてXcodeで使用できますか?
- 28. NSArray、NSDictionary、NSNumberの "リテラル"をXcode 4.3で使用できますか? (LLVM 4.0)
- 29. XCodeのはLLVM + GCC 4.2は - 私は、ライブラリプロジェクトを抱えているデバッグシンボル
- 30. すべてのXcodeプロジェクトにデフォルトでLLVMコンパイラを使用しますか?
最適化*と*デバッグ記号の両方でコンパイルすることができますので、プログラムをデバッグして問題がどこにあるのかを知ることができます。 – trojanfoe
この問題は、コードの前の値が割り当てられている(非原子的で強力な)プロパティにアクセスするコードの簡単なセクションにあります。 ARCがプロパティを保持していない場合と同じですが、最適化が有効になっている場合のみです。 – Erik