Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xCode-3GS设备上的应用程序崩溃,无任何解释_Xcode_Sqlite_Crash_Iphone 3gs - Fatal编程技术网

xCode-3GS设备上的应用程序崩溃,无任何解释

xCode-3GS设备上的应用程序崩溃,无任何解释,xcode,sqlite,crash,iphone-3gs,Xcode,Sqlite,Crash,Iphone 3gs,我在sqlite数据库中做了很多插入。由于某些原因,在某个特定点,应用程序崩溃。我检查了insert命令-一切正常。 如果我在iPhone4设备上运行它,它运行得非常完美 问题是我没有收到任何错误消息,甚至没有内存警告。xCode似乎仍在运行,但在设备上,应用程序崩溃 这是我的代码: sqlite3_stmt *compiledStatement; for (UpdateItems *one in arrList) { NSString *stat;

我在sqlite数据库中做了很多插入。由于某些原因,在某个特定点,应用程序崩溃。我检查了insert命令-一切正常。 如果我在iPhone4设备上运行它,它运行得非常完美

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

我如何跟踪这一点,看看问题出在哪里?

您可能在xcode控制台上看不到任何东西,那么设备崩溃日志呢?每当发生崩溃时,crash reporter都会生成一份崩溃报告。使用XCode organizer调出设备日志,如果崩溃的应用程序是通过以下方式构建的:剥离调试符号-否:

一个漂亮的符号化崩溃日志应该出现在您的管理器窗口中,给出堆栈跟踪,等等:


您可能在xcode控制台上看不到任何东西,那么设备崩溃日志呢?每当发生崩溃时,crash reporter都会生成一份崩溃报告。使用XCode organizer调出设备日志,并将其符号化。@0x8badf00d:确实如此。在设备日志中,我发现有一个内存错误。谢谢你的建议。给我一个答案,这样我就可以接受。@Parkyprg我也面临同样的问题,你能告诉我你是如何解决你的问题的吗?@激情-我已经查看了设备日志。我在那里看到了崩溃。@Parkyprg我没有设备日志,因为应用程序正在客户端的应用程序上崩溃。您能告诉我您在使用设备日志时发现的确切问题吗?因为我还在数据库中插入数据。