0

メモリ管理に問題があり、計測ツールを使用して修正しようとしています。

you tube のマーク J ビデオに基づいています

intrumentでNSZombieEnabledを使用することについて、私はそのようにしようとしています。問題は、インストゥルメントで NSZombieEnabled をアクティブに設定するためのチェックボックスが見つからないことです。この場合、私は xcode 3.2.5 を使用し、まだ IOS 4.2 を使用しています。

これは、有効化された NSZombieEnabled のチェック ボックスが 1 つも表示されていないインストルメントのスクリーンショットです。 楽器のスクリーンショット

私は何か間違ったことをしていますか?? お願い助けて

ありがとうございました

4

3 に答える 3

0

シミュレーターでアプリケーションを実行してみて、機器でオプションが得られるかどうかを確認してください。このチュートリアルを参照してXCode3.2でどのように行われるかを確認するか、このスレッドで受け入れられたXCode4の回答を参照してください。

于 2011-04-20T06:26:05.923 に答える
0

新しい xCode 4 をインストールしないのはなぜですか? そこで、[デバッグ用の引数] タブの下のスキームで EnvironmentVariables を簡単に設定できます。

実際に設定されているかどうかを確認するには、このコードを使用します...

if(
       getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled")
       ) {
        NSLog(@"--------------------------------------->NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
    }
于 2011-04-20T06:09:15.350 に答える
0

XCode バージョン 4 を使用している場合は、次の簡単な手順を実行して NSZombie を有効にする簡単な方法があります。

製品の選択 -> スキームの編集 -> 引数タブという名前のスキーム ドロップダウン バーをクリックして、環境変数列に NSZombieEnabled を追加し、値列に YES を追加してください。

アプリを実行すると、NSZombie の状態を有効に設定してアプリがクラッシュするというエラー メッセージが表示されますが、もともと NSZombie を有効にする前は、自動解放プールでのクラッシュ、現在目的を使用している gdb の中断など、正確に何が問題なのかを見つけるのが難しい場合があります。 -c、BAD_ACCESS エラーなど... NSZombie を有効にすると、不適切な割り当て解除や再アクセスの試み、メモリの不適切な解放など、正確に何が問題なのかを見つけることができます。エラーは次の種類の可能性があります。

-[ExampleProgramViewController alertView:didDismissWithButtonIndex:]: message sent to deallocated instance 0x7068f70
于 2012-06-19T12:23:01.947 に答える