2011-12-22 91 views
7

我运行我的应用程序运行良好,直到我从后台恢复或与位置服务出,应用程序将崩溃。如何调试EXC_CRASH(SIGTRAP)

崩溃日志显示异常类型:EXC_CRASH(SIGTRAP)

任何人都知道如何调试呢?

Exception Type: EXC_CRASH (SIGTRAP) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x36398848 __kill + 8 
1 FrogFinder      0x000b5034 0x69000 + 311348 
2 CoreFoundation     0x3447e980 __handleUncaughtException + 68 
3 libobjc.A.dylib     0x346ce2ca _objc_terminate + 122 
4 libc++abi.dylib     0x338a33be _ZL19safe_handler_callerPFvvE + 70 
5 libc++abi.dylib     0x338a344a std::terminate() + 14 
6 libc++abi.dylib     0x338a481e __cxa_rethrow + 82 
7 libobjc.A.dylib     0x346ce22e objc_exception_rethrow + 6 
8 CoreFoundation     0x343d453e CFRunLoopRunSpecific + 398 
9 CoreFoundation     0x343d439e CFRunLoopRunInMode + 98 
10 GraphicsServices    0x30c58fc6 GSEventRunModal + 150 
11 UIKit       0x3785573c UIApplicationMain + 1084 
12 FrogFinder      0x0006a7e6 0x69000 + 6118 
13 FrogFinder      0x0006a7a4 0x69000 + 6052 

Thread 1 name: Dispatch queue: com.apple.libdispatch-manager 
Thread 1: 
0 libsystem_kernel.dylib   0x363893b4 kevent + 24 
1 libdispatch.dylib    0x370b3e78 _dispatch_mgr_invoke + 708 
2 libdispatch.dylib    0x370b3b96 _dispatch_mgr_thread + 30 

Thread 2 name: WebThread 
Thread 2: 
0 libsystem_kernel.dylib   0x36389010 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x36389206 mach_msg + 50 
2 CoreFoundation     0x3445241c __CFRunLoopServiceMachPort + 120 
3 CoreFoundation     0x34451154 __CFRunLoopRun + 876 
4 CoreFoundation     0x343d44d6 CFRunLoopRunSpecific + 294 
5 CoreFoundation     0x343d439e CFRunLoopRunInMode + 98 
6 WebCore       0x368a8128 _ZL12RunWebThreadPv + 396 
7 libsystem_c.dylib    0x33224c16 _pthread_start + 314 
8 libsystem_c.dylib    0x33224ad0 thread_start + 0 

Thread 3 name: com.apple.NSURLConnectionLoader 
Thread 3: 
0 libsystem_kernel.dylib   0x36389010 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x36389206 mach_msg + 50 
2 CoreFoundation     0x3445241c __CFRunLoopServiceMachPort + 120 
3 CoreFoundation     0x34451154 __CFRunLoopRun + 876 
4 CoreFoundation     0x343d44d6 CFRunLoopRunSpecific + 294 
5 CoreFoundation     0x343d439e CFRunLoopRunInMode + 98 
6 Foundation      0x35dd4bc2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 302 
7 Foundation      0x35dd4a8a -[NSThread main] + 66 
8 Foundation      0x35e6859a __NSThread__main__ + 1042 
9 libsystem_c.dylib    0x33224c16 _pthread_start + 314 
10 libsystem_c.dylib    0x33224ad0 thread_start + 0 

Thread 4: 
0 libsystem_kernel.dylib   0x36389010 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x36389206 mach_msg + 50 
2 CoreFoundation     0x3445241c __CFRunLoopServiceMachPort + 120 
3 CoreFoundation     0x34451154 __CFRunLoopRun + 876 
4 CoreFoundation     0x343d44d6 CFRunLoopRunSpecific + 294 
5 CoreFoundation     0x343d439e CFRunLoopRunInMode + 98 
6 Foundation      0x35dc8b7e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250 
7 Foundation      0x35de252c -[NSRunLoop(NSRunLoop) run] + 72 
8 FrogFinder      0x000c8da6 0x69000 + 392614 
9 Foundation      0x35dd4a8a -[NSThread main] + 66 
10 Foundation      0x35e6859a __NSThread__main__ + 1042 
11 libsystem_c.dylib    0x33224c16 _pthread_start + 314 
12 libsystem_c.dylib    0x33224ad0 thread_start + 0 

Thread 5 name: NetworkIO 
Thread 5: 
0 libsystem_kernel.dylib   0x36389010 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x36389206 mach_msg + 50 
2 CoreFoundation     0x3445241c __CFRunLoopServiceMachPort + 120 
3 CoreFoundation     0x34451154 __CFRunLoopRun + 876 
4 CoreFoundation     0x343d44d6 CFRunLoopRunSpecific + 294 
5 CoreFoundation     0x343d439e CFRunLoopRunInMode + 98 
6 MapKit       0x38030412 0x38022000 + 58386 
7 Foundation      0x35dd4a8a -[NSThread main] + 66 
8 Foundation      0x35e6859a __NSThread__main__ + 1042 
9 libsystem_c.dylib    0x33224c16 _pthread_start + 314 
10 libsystem_c.dylib    0x33224ad0 thread_start + 0 
+0

我想你需要象征这一行:1 FrogFinder 0x000b5034 0x69000 + 311348获取崩溃方法的名称。你可以在这里找到关于象征性的信息:http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports – Johnmph 2011-12-22 00:23:04

+0

你有没有发现是什么导致了这次崩溃? – jasongregori 2013-01-21 21:39:12

+1

你解决了这个问题吗?如果是这样,我很想听听是什么导致了这个问题。这是一个不寻常的错误。 – SAHM 2013-11-04 23:08:07

回答

23

您也可以打开异常断点。在XCode 4中点击您的项目并选择断点标签。在该选项卡的底部是| + | - |搜索栏。选择+项目和“添加Exeception断点”。您可以将其保留在全部或选择Objective-C。这样你就可以在调试器中破解并能够看到是什么造成了这种怀疑。

9

使用Xcode 4.2和iOS 5未捕获的异常似乎不再显示在控制台中。我建议添加以下内容或修改现有的未捕获异常处理程序,以便为您转储异常callstack。

#ifdef DEBUG 
void eHandler(NSException *); 

void eHandler(NSException *exception) { 
    NSLog(@"%@", exception); 
    NSLog(@"%@", [exception callStackSymbols]); 
} 
#endif 

int main(int argc, char *argv[]) { 

#ifdef DEBUG 
    NSSetUncaughtExceptionHandler(&eHandler); 
#endif 

...rest of your main function here... 

} 
+0

这很酷! ;) – 2014-03-10 12:10:16