【问题标题】:Strange iOS tableView/CALayer crashes奇怪的 iOS tableView/CALayer 崩溃
【发布时间】:2023-03-25 18:29:01
【问题描述】:

当我再次启动它时,我的应用程序在后台很长时间后开始崩溃。 问题当然在于它没有被杀死 - 只有当它在后台时。

日志是:

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

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x32858a1c __pthread_kill + 8
1   libsystem_c.dylib               0x337013b4 pthread_kill + 52
2   libsystem_c.dylib               0x336f9bf8 abort + 72
3   libstdc++.6.dylib               0x30504a64 __gnu_cxx::__verbose_terminate_handler() + 376
4   libobjc.A.dylib                 0x3068f06c _objc_terminate + 104
5   libstdc++.6.dylib               0x30502e36 __cxxabiv1::__terminate(void (*)()) + 46
6   libstdc++.6.dylib               0x30502e8a std::terminate() + 10
7   libstdc++.6.dylib               0x30502f5a __cxa_throw + 78
8   libobjc.A.dylib                 0x3068dc84 objc_exception_throw + 64
9   CoreFoundation                  0x3351048a +[NSException raise:format:arguments:] + 62
10  Foundation                      0x326ea56c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 56
11  UIKit                           0x31bc3a82 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 666
12  UIKit                           0x31bc3764 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 28
13  UIKit                           0x31bbc0c6 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 930
14  UIKit                           0x31bbb276 -[UITableView layoutSubviews] + 134
15  UIKit                           0x31b675f4 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 20
16  CoreFoundation                  0x3347defc -[NSObject(NSObject) performSelector:withObject:] + 16
17  QuartzCore                      0x33351bae -[CALayer layoutSublayers] + 114
18  QuartzCore                      0x33351966 CALayerLayoutIfNeeded + 178
19  QuartzCore                      0x333571be CA::Context::commit_transaction(CA::Transaction*) + 206
20  QuartzCore                      0x33356fd0 CA::Transaction::commit() + 184
21  QuartzCore                      0x3335004e CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 50
22  CoreFoundation                  0x334e7a2e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 10
23  CoreFoundation                  0x334e945e __CFRunLoopDoObservers + 406
24  CoreFoundation                  0x334ea754 __CFRunLoopRun + 848
25  CoreFoundation                  0x3347aebc CFRunLoopRunSpecific + 224
26  CoreFoundation                  0x3347adc4 CFRunLoopRunInMode + 52
27  GraphicsServices                0x311a5418 GSEventRunModal + 108
28  GraphicsServices                0x311a54c4 GSEventRun + 56
29  UIKit                           0x31b90d62 -[UIApplication _run] + 398
30  UIKit                           0x31b8e800 UIApplicationMain + 664
31  Vento                           0x00002c64 main (main.m:14)
32  Vento                           0x00002c0c start + 32

知道从哪里开始挖掘吗?

谢谢!

【问题讨论】:

    标签: ios uitableview crash calayer


    【解决方案1】:

    查看日志以查看异常详细信息。

    对您的代码运行静态代码分析器。它可能会为您找到错误。

    【讨论】:

    • 不是EXC_CRASH (SIGABRT)吗?什么是静态代码分析器?我在哪里可以找到它?谢谢。
    • 堆栈跟踪看起来有异常,因此您可能有一些日志文本。要进行静态代码分析,在 Xcode 4 中选择 Product 菜单并选择“Analyze”。这通常会让你彻底尴尬,显示你是一个多么糟糕的编码器,并让你质疑你的程序是如何运行的。菜单应该重命名为“Humble me”。
    • 是的,我已经知道这个工具了,除了我的一些协议缺少与我的问题无关的方法外,没有什么问题,据我所知。还有什么想法吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    相关资源
    最近更新 更多