我的崩溃日志显示这一点,但没有任何信息。使用atos命令,我得到了这个信息,说明登录视图控制器中有专门的UnsafeBufferPointer.count.getter。你知道为什么会发生这起撞车事故吗?
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
VM Region Info: 0x10 is not in any region. Bytes before following region: 4340006896
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 0000000102af4000-0000000102af8000
Thread 7 name:
Thread 7 Crashed:
0 libobjc.A.dylib 0x00000001821e4430 objc_msgSend + 16
1 UIKit 0x000000018c543d90 -[UIWindowLayer actionForKey:] + 80 (UIWindow.m:432)
2 QuartzCore 0x0000000186fcb984 -[CALayer layoutSublayers] + 244 (CALayer.mm:9308)
3 QuartzCore 0x0000000186fcfad0 CA::Layer::layout_if_needed(CA::Transaction*) + 332 (CALayer.mm:9182)
4 QuartzCore 0x0000000186f3c31c CA::Context::commit_transaction(CA::Transaction*) + 336 (CALayer.mm:2416)
5 QuartzCore 0x0000000186f63b40 CA::Transaction::commit() + 540 (CATransactionInternal.mm:425)
6 QuartzCore 0x0000000186f64980 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92 (CATransactionInternal.mm:795)
7 CoreFoundation 0x0000000182f2ecdc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1824)
8 CoreFoundation 0x0000000182f2c694 __CFRunLoopDoObservers + 412 (CFRunLoop.c:1934)
9 CoreFoundation 0x0000000182e4cc78 CFRunLoopRunSpecific + 468 (CFRunLoop.c:3247)
10 WebCore 0x000000018adc184c RunWebThread(void*) + 560 (WebCoreThread.mm:690)
11 libsystem_pthread.dylib 0x0000000182bb02b4 _pthread_body + 308 (pthread.c:740)
12 libsystem_pthread.dylib 0x0000000182bb0180 _pthread_start + 312 (pthread.c:799)
13 libsystem_pthread.dylib 0x0000000182baeb74 thread_start + 4
发布于 2018-07-12 18:30:17
在我看来,这像是堆损坏。很可能是dangling pointer。基本上,-[UIWindowLayer actionForKey:]
与指向某个对象的指针交互,该指针不再是指向有效对象的指针。这是导致objc_msgSend
内崩溃的一个非常常见的原因。
我恐怕说这份报告不太可能揭示原因。导致悬空指针的崩溃发生的时间与导致崩溃的时间不同是很常见的()。因此,捕获的堆栈跟踪揭示此指针不再有效的原因的可能性非常低。
在这种情况下,我通常推荐的是:
objc_msgSend
中有更多),Zombies
,这是另外两个很好的内存调试工具对堆损坏进行推理是很困难的,甚至是不可能的。所以,只要尝试找到并修复尽可能多的问题即可。它们中的一个完全有可能造成了各种事故,其中一起可能就是这起。
祝好运!
https://stackoverflow.com/questions/50597880
复制