ネストされたブロックの問題をトラブルシューティングするためにどのようなツールが存在する可能性がありますか(たとえば、キャプチャされた変数の識別、サイクルの保持など)?また、ネストされたブロックを操作するための推奨参考資料を知りたいと思います。
質問する
108 次
1 に答える
1
メモリ管理分析に使用するツールについて質問しているようです。
まず、Allocationsインスツルメント、特にHeapshotAnalysisから始めます。反復的なイベントでの永続的な成長を特定するのに非常に優れています(ただし、非反復的な場合にも使用できます)。
保持/解放イベントの追跡をオンにして、(コンパイラーによって生成された)ブロックヘルパー関数のいずれかが保持のソースであるかどうかを確認できます。
そしてもちろん、コードを「構築して分析」します。コンパイラーは、特にARCが有効になっている場合に、ブロックを介した保持サイクルの取得に非常に精通しています。(まだ長い道のりがありますが)。
ブロック内のキャプチャされた状態を識別するためのツールはあまりありません。
Allocationsインスツルメントで、小さい(i)をクリックし、[アクティブな割り当てのみを追跡する]と[参照カウントを記録する]の両方をオンにします。
前者はInstrumentsが追跡するデータセットを大幅に削減し、よりスッキリさせます。後者は、イベントのソースのバックトレースを含む、任意のオブジェクトに対するすべての保持/解放イベントを追跡します。
于 2012-09-04T02:24:28.583 に答える