11

計測器を使用してアプリのリークをチェックしており、リーク サイクル データの読み取り方法を学習しようとしています。リークの1つでこのグラフを取得しています:

ここに画像の説明を入力

グラフの意味は何ですか? 「No Ivar」とはどういう意味ですか?

4

1 に答える 1

16

「no ivar」メッセージは、シンボルが取り除かれたプログラムのコール スタックを見るのと似ています。コール スタックを見ていると、関数名の代わりにメモリ アドレスが表示されます。あなたの例では、Instruments は +16 と +24 のアドレスを表示しています。計測器はメモリを割り当てた変数名を見つけることができないため、[no ivar] メッセージが表示されます。

Instruments からより良い情報を提供してもらうための解決策がありません。私は、Instruments にリーク サイクルの処理を任せることができませんでした。

アップデート

コードでメモリ リークが発生している場所を見つけようとしている場合は、ジャンプ バーから実行できるコール ツリー ビューに切り替えることをお勧めします。[Invert Call Tree] チェックボックスと [Hide System Libraries] チェックボックスを選択すると、呼び出しツリー ビューでコードを見つけやすくなります。チェックボックスは、トレース ドキュメント ウィンドウの左側にあります。

于 2012-09-17T18:26:33.610 に答える