0

「malloc_error _break」を使用して、ダブルフリーエラーで中断しています。

スタック トレースから、特定の行またはオブジェクトにたどり着くことはありません (アセンブリ コードのみ)。

私が見ることができるのは、オブジェクトのアドレスです:

...malloc: *** オブジェクト 0xfa1340 のエラー: double free

このアドレスが表すオブジェクトを見つけるにはどうすればよいですか? (0xfa1340)

(「ObjectAlloc」ツールで見つけようとしましたが、見つかりませんでした)。

ありがとう!

4

2 に答える 2

1

n 体のゾンビを倒したいとします。これにより、解放されたオブジェクトが解放されなくなりますが、代わりに、まだ存在するゾンビオブジェクトにスウィズルされ、メッセージの受信を確認できます。

環境変数 NSZombieEnabled を YES に設定することで、これを有効にすることができます。詳細については、このテクニカルノートをご覧ください。

于 2009-10-22T18:01:24.180 に答える
0

もっと簡単な方法があれば教えてください。

私がこれを行う方法は次のとおりです。製品->プロファイル。これにより、Instruments が開きます。次にゾンビを選びます。次に、アプリがクラッシュしたら、Statistics をクリックして Objects List を選択し、16 進アドレスのすぐ横にある小さな矢印をクリックします。それが表すオブジェクトが表示されます。

于 2011-07-11T10:04:36.837 に答える