我多年来一直在与Obj-C,Xcode合作,但有时这些崩溃发生在一个项目中。我不知道如何处理这些问题。
如果有人有任何想法,请引导我朝正确的方向前进,以便我可以锻炼。
注意:客户从实时应用程序发送以下日志。
窃取崩溃日志是;
Date/Time: 2018-02-08 16:39:36.053 +0530
OS Version: Mac OS X 10.12.6 (16G29)
Report Version: 12
Anonymous UUID: 163431E3-7543-821C-B71C-392218AA5AD3
Sleep/Wake UUID: 1D59C34E-52D6-4F57-A2CE-4C8FAC4387FE
Time Awake Since Boot: 9100 seconds
Time Since Wake: 6000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libdispatch.dylib 0x00007fffdb6ca521 _dispatch_call_block_and_release + 9
1 libdispatch.dylib 0x00007fffdb6c18fc _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fffdb6ceaac _dispatch_main_queue_callback_4CF + 925
3 com.apple.CoreFoundation 0x00007fffc5facbc9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
4 com.apple.CoreFoundation 0x00007fffc5f6dc0d __CFRunLoopRun + 2205
5 com.apple.CoreFoundation 0x00007fffc5f6d114 CFRunLoopRunSpecific + 420
6 com.apple.HIToolbox 0x00007fffc54cdebc RunCurrentEventLoopInMode + 240
7 com.apple.HIToolbox 0x00007fffc54cdcf1 ReceiveNextEventCommon + 432
8 com.apple.HIToolbox 0x00007fffc54cdb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
9 com.apple.AppKit 0x00007fffc3a66a54 _DPSNextEvent + 1120
10 com.apple.AppKit 0x00007fffc41e27ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
11 com.apple.AppKit 0x00007fffc3a5b3db -[NSApplication run] + 926
12 com.apple.AppKit 0x00007fffc3a25e0e NSApplicationMain + 1237
13 libdyld.dylib 0x00007fffdb6f7235 start + 1
Thread 1:
0 libsystem_kernel.dylib 0x00007fffdb825bf2 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fffdb9117fa _pthread_cond_wait + 712
2 libc++.1.dylib 0x00007fffda28e4cd std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 47
3 com.apple.JavaScriptCore 0x00007fffc8f7b43c void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 108
4 com.apple.JavaScriptCore 0x00007fffc8f7b3bb bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 155
5 com.apple.JavaScriptCore 0x00007fffc8f7b28d bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadEntryPoint(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*) + 29
6 com.apple.JavaScriptCore 0x00007fffc8f7b53d void* std::__1::__thread_proxy<std::__1::tuple<void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 93
7 libsystem_pthread.dylib 0x00007fffdb91093b _pthread_body + 180
8 libsystem_pthread.dylib 0x00007fffdb910887 _pthread_start + 286
9 libsystem_pthread.dylib 0x00007fffdb91008d thread_start + 13
&#13;
答案 0 :(得分:2)
0 libdispatch.dylib 0x00007fffdb6ca521 _dispatch_call_block_and_release + 9
1 libdispatch.dylib 0x00007fffdb6c18fc _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fffdb6ceaac _dispatch_main_queue_callback_4CF + 925
当GCD尝试在主线程上执行块时发生崩溃。检查回调块以确保它们干净地捕获状态,并且正确复制所有需要复制的块。
这可能是 ,因为块中捕获了一些过早释放的对象或,因为块本身被过度释放(不太可能)。