1

スタック トレースがソース コードにリンクしていない場合に、[CALayer] の割り当て解除されたインスタンスへのメッセージをトレースする方法について誰かが支援してくれることを願っています。

XCode の Diagnostics で Zombie Objects を有効にし、Zombie プロファイリングを実行しました。

XCode での応答は、「2013-01-27 22:37:31.506 AdventureA[9695:11303] *** -[CALayer release]: message sent to deallocated instance 0x757b530」です。

機器からの応答は次のとおりです。 楽器 - ゾンビ

問題の原因を突き止める方法について、私は完全に途方に暮れています。私は何時間もソースコードを調べてきました...

4

2 に答える 2

1

わかりました-見つけました。buttonWithType としてインスタンス化されていた UIButton (もちろん、UIView から継承されます) があり、それを解放していました。ああ。

非常に明白なことが非常に苦痛になった理由(同じことに対処しなければならない可能性がある人にとって)。問題は、後から考えるとすべてがとても簡単に聞こえることです。

  • 問題が発生した場所を追跡できるスタック トレースがない理由はまだわかりません。
  • Zombie の出力から入手できるソース コードがないため、これは「隠れて」何かが起こっているのではないかと考えるようになりました。
  • 割り当て解除の影響を受けていた以前のビューを見ているべきだったときに、エラーが発生していたときにその場所でビューを見ていました。
  • 朝からコーディングをしていた...
于 2013-01-27T13:42:15.200 に答える
0

呼び出し元リストの [UIView dealloc] への 2 つの呼び出しに注意してください。UIView オブジェクトの割り当てを見てください。あなたは奇妙なライフサイクルを持つものを持っているようです。

于 2013-01-27T12:36:29.453 に答える