2012-02-22 9 views
0

xCodeでメモリプロファイラを使用しようとしました。Xcodeのメモリリークプロファイラ - どれほど信頼性がありますか?

リークオブジェクトとしていくつかのフラグを付けますが、オブジェクトの履歴を開くと、そのオブジェクトの最後の操作は、オブジェクト参照のカウントをゼロに設定するリリースです。

結果はどのくらい信頼できますか?潜在的なメモリリークや確認済みのものですか?

メモリリークの場合は、最後の参照カウントをゼロにしたときにどうして起こるのですか?私はxCodeのプロファイラを構成する方法で何か問題がありますか(私はちょうどcmd + iを押します)? Jamil

+0

アナライザには何も表示されましたか?おそらく、漏れたオブジェクトのコードをいくつか表示することができます(インスタンス化してリリースする場所)。 – ggfela

+0

アナライザ(静的解析ツール)は問題ありません。 – Jamil

+2

プロファイラは正確ですが、解釈が難しいです。 –

答えて

0

ああ私は間違いを見つけました!

私はこれらのインスタンスのクラスのdeallocで[super deallco]と呼んでいませんでした

1

割り当てツールは、保持とリリースを追跡するように依頼した場合、完全に正確です。正確に追跡します。また、以前の履歴の間に存在したオブジェクトの数と、現在どれだけ存在しているかの違いを正しく報告します。

リークツールは必ずしも正確ではありません。たとえば、私の経験ではリークが見逃されることがあります(偽陽性の報告は聞いたことがありませんが、可能です)。ただし、デフォルトでは、リークツールは10秒ごとにショットを取るだけなので、十分な時間をおいてください。また、ヒープショットを使用してオブジェクトの生涯を磨きます。

+0

ありがとう@matt、割り当てツールはオブジェクトを「ライブ」として表示します。 – Jamil

+0

アーククラスで保持される非アークコード(静的ライブラリ)に割り当てられて自動解放されてリークされていると表示されるオブジェクトは、 – Jamil

関連する問題