NSAutoreleasePool
が流出したときにクラッシュしました。おそらく、プールは別のコードによって時期尚早にリリースされたオブジェクトの割り当てを解除しようとしています。私が持っているクラッシュは、もはや存在しないオブジェクトにメッセージを送信しようとしているので、objc_msgSend
の中にあります。objc_msgSend内のクラッシュをデバッグするにはどうすればよいですか?
与えられたスタック状態を考慮すると、問題のオブジェクトに関する情報や不正な解放が発生した時点の情報を入手するためのヒント/トリック/プロセス/ gdb
コマンドがありますか?
さらに、InstrumentsのObject Alloc計測器を使用して、早期にリリースされたオブジェクトの保持/解放イベントを追跡することができます。それは自動解放プールの解放ではありませんが、それは問題ですが、いくつかの先行リリースがあります。 – bbum
@Pangリンクを更新しました。 – inga