0

Objective-Cで実行時にゾンビを見つける方法はありますか?
オブジェクトがゾンビのメソッドを呼び出さないようにする方法を探していますが、アプリをクラッシュさせずにメソッドを検出する方法はありますか?
私は、ARCiOS5での弱参照と常識的なプログラミングの実践について知っています。
オブジェクトのサイズを尋ねる方法があると思っていましたが(おそらく「内部」には参照があるだけです)、オブジェクトがまだ存在する場合は、おそらく単一のポインターサイズだけではなく、値を与える必要があります。
使用malloc_size(pointerToObject)
して動作しますか?

更新:ゾンビ検出用のInstrumentsを実行する方法を知っています

4

3 に答える 3

2

Andrea は、インストルメントを実行してゾンビを検出する方法を尋ねているとは思いません。彼女は、実行時に割り当て解除されたインスタンスを呼び出さないようにしたいと考えていると思います。この場合、どの malloc サイズが返されるかわかりません。彼らが NSZombies で行ったこと (インスタンスを完全に解放することはありません) 以外に思いつくものはすべて、ギミックであり、一部の時間しか機能しないと思います。実行時にエラーをキャッチしようとするのではなく、これらの呼び出しを行うのを防ぐために、退屈で古い勤勉なプログラミングとインストゥルメントを使用したプロファイリングが最善だと思います。

于 2012-02-21T15:00:33.117 に答える
0

Instruments でアプリケーションを実行してみて、「Zombies」テンプレートを選択します。

于 2012-02-21T14:47:18.263 に答える
0

スキームメニュー (左上、実行/停止の横)。「スキームを編集...」を選択します。シートが出てきます。そこで実行/デバッグスキームを選択します。中央のペインで [診断] タブを選択します。ゾンビにチェック。

于 2012-02-21T14:53:32.203 に答える