0

NSZombieEnabledがコードで機能していることを確認しようとしています。私は次の設定をしました:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

そして私は次のコードを持っていますdidFinishLaunchingWithOptions

NSString *string = nil;
    [string release];
    string = @"abc";

ただし、エラーは発生しません。NSZombieからの通知もありません。さらに設定を行う必要があります。インポートしたlibがあり、コード13のEXC_BAD_ACCESSが発生しているため、エラーの原因を特定できません。

スタックとコンソールは次のようになります ここに画像の説明を入力してください

4

1 に答える 1

2

設定は正しいですが、コードはゾンビを作成しません。ゾンビは解放されたが再利用されたオブジェクトです。このようなものはゾンビを作成します:

NSString* string = [NSString stringWithString:@"abc"];
[string release];
[string length];

lengthこの例では、文字列が解放され、そのメソッドを呼び出して文字列を使用しようとします。

ライブラリの場合、EXC_BAD_ACCESSを提供するときのスタックはどのようになりますか?

于 2012-11-30T05:50:06.240 に答える