应用程序在启动时立即崩溃,仅在设备上

时间:2013-04-12 01:14:23

标签: ios objective-c crash

我正在试图找出为什么我正在开发的应用程序在我的设备(运行iOS 6.1的iPhone 4)上运行时立即开始崩溃。我已经在这个应用程序上工作了大约8周,这个问题似乎已经出现了。

当我在模拟器上运行时,应用运行正常。当我尝试在我的设备上运行它时,它会崩溃,然后在:

处中断
int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

崩溃发生在AppDelegate方法之前

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

被召唤。

我查看了设备崩溃日志,但是我没有看到任何能让我知道发生了什么的线索。有谁知道我可以从哪里开始寻找解决方案?对于它的价值,这里是崩溃日志:

  

异常类型:EXC_CRASH(SIGABRT)异常代码:   0x0000000000000000,0x0000000000000000崩溃的线程:0

     

线程0名称:调度队列:com.apple.main-thread线程0   崩溃:0 libsystem_kernel.dylib 0x39e74350 __pthread_kill   + 8 1 libsystem_c.dylib 0x39deb11e pthread_kill + 54 2 libsystem_c.dylib 0x39e2796e abort + 90 3
  GraphicsServices 0x357da9ce GSRegisterPurpleNamedPort +   210 4 GraphicsServices 0x357da684 _GSEventInitialize +   92 5 UIKit 0x33b2d0c8 UIApplicationMain +   552 6 CK-Ranker 0x000bbaf4 main(main.m:16)7
  CK-Ranker 0x000bba7c start + 36

     

线程1:0 libsystem_kernel.dylib 0x39e74d98   __workq_kernreturn + 8 1 libsystem_c.dylib 0x39dc2cf6 _pthread_workq_return + 14 2 libsystem_c.dylib 0x39dc2a12 _pthread_wqthread + 362 3 libsystem_c.dylib
    0x39dc28a0 start_wqthread + 4

     

线程2名称:Dispatch queue:com.apple.libdispatch-manager Thread   2:0 libsystem_kernel.dylib 0x39e64648 kevent64 + 24 1
  libdispatch.dylib 0x39d9d4ec _dispatch_mgr_invoke + 792 2   libdispatch.dylib 0x39d8fdf4   _dispatch_mgr_thread $ VARIANT $ up + 32

     

线程3:0 libsystem_kernel.dylib 0x39e74d98   __workq_kernreturn + 8 1 libsystem_c.dylib 0x39dc2cf6 _pthread_workq_return + 14 2 libsystem_c.dylib 0x39dc2a12 _pthread_wqthread + 362 3 libsystem_c.dylib
    0x39dc28a0 start_wqthread + 4

     

线程4名称:WebThread线程4:0 libsystem_kernel.dylib
    0x39e63eb4 mach_msg_trap + 20 1 libsystem_kernel.dylib
    0x39e64048 mach_msg + 36 2 CoreFoundation
    0x31ca6040 __CFRunLoopServiceMachPort + 124 3 CoreFoundation
    0x31ca4d9e __CFRunLoopRun + 878 4 CoreFoundation
    0x31c17eb8 CFRunLoopRunSpecific + 352 5 CoreFoundation
    0x31c17d44 CFRunLoopRunInMode + 100 6 WebCore
    0x37c16500 RunWebThread(void *)+ 440 7 libsystem_c.dylib
    0x39dcd30e _pthread_start + 306 8 libsystem_c.dylib
    0x39dcd1d4 thread_start + 4

     

线程0与ARM线程状态(32位)崩溃:       r0:0x00000000 r1:0x00000000 r2:0x00000000 r3:0x3b92d534       r4:0x00000006 r5:0x3b92db88 r6:0x3b933ff4 r7:0x2fd46c48       r8:0x1ed7a570 r9:0x001844f0 r10:0x00000000 r11:0x00000000       ip:0x00000148 sp:0x2fd46c3c lr:0x39deb123 pc:0x39e74350 cpsr:0x00000010

我在启用ARC的情况下运行Xcode 4.6.1。

2 个答案:

答案 0 :(得分:4)

您需要提供更多代码或告诉您的应用在启动时做了什么。

但是从崩溃日志中可以清楚地看到主要UI线程已被杀死的Thread0。这可能是因为在设备上有一个名为watchdog的进程,它会杀死任何看起来可疑的进程。喜欢占用太多内存或花费太多时间在应用启动时显示第一个屏幕& “Apple”认为会影响用户体验的其他事情。所以......

答案 1 :(得分:1)

事实证明我的设备存在问题。我重置了我的设备,崩溃消失了。将来我会记得在遇到这次崩溃时尝试重置我的设备。