xCode - 应用程序崩溃,没有解释3GS设备

时间:2011-11-12 14:09:50

标签: xcode sqlite crash iphone-3gs

我在sqlite db中做了很多插入。出于某种原因,在特定点,应用程序崩溃。我检查了插入命令 - 一切都很好。 如果我在iPhone 4设备上运行它 - 它运行得很好。

问题是我没有收到任何错误消息,甚至没有内存警告。 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];
    }

我如何跟踪这个,看看有什么问题?

2 个答案:

答案 0 :(得分:1)

您可能在xcode控制台上看不到任何内容,设备崩溃日志怎么样?每当发生崩溃时,崩溃报告器都会生成崩溃报告。使用XCode管理器调出设备日志,将其标记为

答案 1 :(得分:1)

如果崩溃的应用程序构建为:剥离调试符号 - 否

一个漂亮的符号化崩溃日志应该出现在你的组织者窗口中,给出一个堆栈跟踪等等: