2011-11-12 12 views
0

私はsqlite dbで多くの挿入を行っています。何らかの理由で、特定の時点で、アプリケーションがクラッシュします。私はinsertコマンドをチェックしました - すべてうまくいきます。 iPhone 4デバイスで実行すると完全に動作します。xCode - 3GSデバイスに関する説明なしでクラッシュするアプリケーション

問題は、メモリ警告でもエラーメッセージが表示されないことです。 xCodeはまだ実行されているようですが、デバイス上でアプリがクラッシュします。

これは私のコードです:

sqlite3_stmt *compiledStatement; 
    for (UpdateItems *one in arrList) { 
     NSString *stat; 
     stat = [[NSString alloc] initWithFormat:@"insert into table values (null, (select id from t1 where code='%@'), (select id from t2 where c='%@'), '%@', '%@', '%@', '%@', '%@', '%@')", one.bk, one.code, one.data, one.b, one.bV, one.s, one.sV, one.o]; 
     if(sqlite3_prepare_v2(database, [stat UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) 
     { 
      while(YES){ 
       NSInteger result = sqlite3_step(compiledStatement); 
       printf("db error: %s\n", sqlite3_errmsg(database)); 
       if(result == SQLITE_DONE){ 
        index = index + 1; 
        double totalPrc = 0.75f + roundf(((double) index/totalRecords)/(100/20) * 100.0f)/100.0f; 
        if (self.percentageCompleted != totalPrc) { 
         self.percentageCompleted = totalPrc; 
         [self performSelectorOnMainThread:@selector(refreshHUD) withObject:nil waitUntilDone:NO]; 
        } 
        break; 
       } 
       else if(result != SQLITE_BUSY){ 
        printf("db error: %s\n", sqlite3_errmsg(database)); 
        break; 
       } 
      } 
      sqlite3_reset(compiledStatement); 
     } 
     [stat release]; 
    } 

どのように私は問題が何であるかを確認するために、これを追跡することができますか?

+0

あなたはどのようなデバイスのクラッシュについては、Xcodeのコンソールに何も表示されない場合がありますログ?クラッシュが発生するたびに、クラッシュレポーターがクラッシュレポートを生成します。 XCodeオーガナイザを使用してデバイスログを表示し、それらをシンボル化します。 – 0x8badf00d

+0

@ 0x8badf00d:そうです。デバイスログには、メモリエラーがあることがわかりました。提案していただきありがとうございます。私はそれを受け入れることができるように答えを置く。 – CristiC

+0

@Parkyprg Iamも同様の問題に直面していますが、どのように問題を解決しましたか教えてください。 –

答えて

1

xcodeコンソールに何も表示されない場合がありますが、デバイスクラッシュログはどうなりますか?クラッシュが発生するたびに、クラッシュレポーターがクラッシュレポートを生成します。 、デバイスのログを持ち出すクラッシュしたアプリがで構築された場合は、それらを

1

をsymbolicateする使用のXCode主催:デバッグシンボルを除去 - NO

素敵symbolicatedクラッシュログがあなたに表示されますオーガナイザーウィンドウなど、スタックトレースを与える:

関連する問題