3

私が作業しているアプリは、iPhoneで実行するとクラッシュし続けますが、シミュレーターではクラッシュしません(ただし、シンボリックなmalloc_error_breakなしで実行すると警告が表示されますが、アプリはSimで動作し続けます)

文字列を手動で解放するのではなく、次を使用します。

[[[NSString / NSMutableString alloc] init] autorelease]; 

(私は他のアプリのためにいつもやっていて、私に問題を与えたことはありません)

ここで、malloc_error_breakをブレークポイントとして設定すると、次のようになります。

2012-03-07 17:04:06.072 columns[15487:f803] *** -[CFString release]: message sent to deallocated instance 0x68c8210

XCODE4を使用すると、次のようにジャンプします。

int main(int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");   >>> Thread 1
    [pool release];
    return retVal;
 }

シミュレーターで実行するとNSZombieEnabledもあります

誰かがXCODE4でこれをデバッグする方法について私を助けてくれるか、オンラインのチュートリアルを教えてくれれば幸いです!

よろしく

デビッド

4

1 に答える 1

4

NSStringメソッドから自動解放を削除し、クラッシュするまでそれらを追加し直します(これが今の答えだと思いますので...)

于 2012-03-07T22:18:40.260 に答える