当iphone崩溃时被捕获错误(被中止)

时间:2010-09-13 09:20:26

标签: iphone

我尝试在真实设备中部署我的应用程序。

但是当它运行时,我的应用程序崩溃了(被中止)。

如何捕获消息错误以显示导致应用程序崩溃的错误?

谢谢。

3 个答案:

答案 0 :(得分:0)

嗯,我不知道。

但您可以尝试使用调试器或允许大量调试方法的仪器: - )

控制台记录是什么意思?

祝你好运!

答案 1 :(得分:0)

当您将设备连接到计算机时,Xcode中的管理器窗口将允许您查看设备的崩溃日志。这些可以帮助您找到问题的根源。

如果您通过从Xcode调试在设备上运行应用程序,那么当调试器在错误点处中断时,您应该能够在gdb中使用bt。这将打印一个回溯,显示错误发生的位置。通过在gdb中键入up,可以将后跟踪向上移动到代码中出现错误的位置。

答案 2 :(得分:0)

首先,您可以使用此方法将日志记录重定向到文件:

+ (void)redirectNSLogToDocumentFolder {

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);    
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];    
    NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];   
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
}

只需在您应用的开头调用它即可。之后,所有NSLog()调用都将写入文件(日期为名称)。

然后您可以将设备连接到XCode并使用管理器

检索文件