オブジェクトが頻繁にリリースされ、その後イベントループによって割り当てが解除される問題をデバッグしようとしています。次にオブジェクトから読み取ろうとすると、アプリケーションはEXC_BAD_ACCESSでクラッシュします。Instrumentsは私に実際の参照カウントを表示しません
デバッグするには、NSZombiesを有効にしてから、ZombiesプロファイルをInstrumentsで使用しています。私はその後、私のアプリがクラッシュするところに到達し、インストルメントは解放されたインスタンスに送られるメッセージについて私に知らせます。ここまでは順調ですね。
UIKitなどのライブラリが公開されているオブジェクトを指し示す場所を私に示してもらえますが、自分のコードがどこにあるのかはわかりません。真の参照カウントも表示されません。インストゥルメントが参照カウントを1と指定するまでに、参照カウントは実際にはgdbの参照カウントを出力することによって8になります。
私はInstrumentsが何とか出力をフィルタリングしている可能性を調査しましたが、実際にすべてのリリースを記録してイベントを保持しているように見えます。私のView Controllerは表示後すぐに割り当てが解除されるため、コントローラにメッセージを送信する何かをしようとするとクラッシュする可能性があるため、アプリケーションでは絶対に何かでなければなりません。
deallocメソッドにブレークポイントを配置した後、私は自分のオブジェクトが実際にイベントループによって割り当て解除されていることを発見しました。これは、deallocの不正なコールではありません。
郵便あなたにViewControllerをインスタンス化しています。 –