NSZombieEnabledは、EXC_BAD_ACCESSエラーの原因となっているオブジェクトのタイプを報告しません

StackOverflow https://stackoverflow.com/questions/1632791

質問

何らかの理由でUIKitの奥深くでクラッシュが発生しています。 EXC_BAD_ACCESSエラーが発生しているのは、dismissModalViewController呼び出しの8つの呼び出しのようなものです。 NSZombieEnabledを実行可能ファイルに対して有効にしようとしましたが、ゾンビがオンになっているかどうかに関係なくコンソールログに同じエラーが出力され、どのオブジェクトが問題の原因かわかりません。コンソールに正しい情報を印刷させるために必要なことを逃していますか?

役に立ちましたか?

解決

ゾンビの使用について読むこちら

これをgdbで実行します。 EXC_BAD_ACCESS を取得したら、その時点でスタックを確認します(gdbのwhereコマンドを使用するか、Xcode GUIデバッガーを実行します)。それでも問題が解決しない場合は、元の質問にスタックを投稿してください。

また、NSObjectsを扱っている場合にのみゾンビが役立ちます。低レベルのmalloc / freeルーチンを使用している場合、ゾンビはそれらの割り当てに対して何も買いません。

他のヒント

先週末、NSZombieEnabledがまったく機能していないように見えたときに知ったことの1つは、非オブジェクトをコードに渡さないようにしてください。

私の場合、NSStringを単に「string」として返していました。 @" string"の代わりに。つまり、NSStringオブジェクトをc-stringで上書きしていました。後でそのオブジェクトに新しい値を書き込もうとすると、BAD_ACCESSを取得していました。 NSZombieはb / cを助けることができませんでした。上書きしようとしたオブジェクトではありませんでしたが、そのc文字列です。

さておき、すべての警告をXCodeのエラーとして扱います-IDE GUIで赤で表示できるようにしたい-それらは時々見逃しがちです。

Modal View Controllerで何かが過剰リリースされているように聞こえます。改行が止まるまで、新しい行をコメントアウトすることから始めます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top