В iOS, что вызвало этот сбой?

У меня произошел сбой в моем приложении для iOS, но у них есть только несколько сообщений, некоторые из которых похожи на это.

Application received signal SIGABRT
(null)
(
0   CoreFoundation                      0x359c68a7 __exceptionPreprocess + 186
1   libobjc.A.dylib                     0x37d6d259 objc_exception_throw + 32
2   CoreFoundation                      0x359c6789 +[NSException raise:format:] + 0
3   CoreFoundation                      0x359c67ab +[NSException raise:format:] + 34
4   myapp                               0x00241bf9 _ZNSt11_Deque_baseIsSaIsEE15_M_create_nodesEPPsS3_ + 1432772
5   libsystem_c.dylib                   0x32dd27e3 _sigtramp + 38
6   libsystem_c.dylib                   0x32dc820f pthread_kill + 54
7   libsystem_c.dylib                   0x32dc129f abort + 94
8   libc++abi.dylib                     0x35d7ef6b abort_message + 46
9   libc++abi.dylib                     0x35d7c3f1 _ZL19safe_handler_callerPFvvE + 120
10  libc++abi.dylib                     0x35d7c451 _ZdlPv + 0
11  libc++abi.dylib                     0x35d7d825 __cxa_current_exception_type + 0
12  libobjc.A.dylib                     0x37d6d2a9 objc_exception_rethrow + 12
13  CoreFoundation                      0x3591c50d CFRunLoopRunSpecific + 404
14  CoreFoundation                      0x3591c36d CFRunLoopRunInMode + 104
15  GraphicsServices                    0x375b8439 GSEventRunModal + 136
16  UIKit                               0x33428cd5 UIApplicationMain + 1080
17  myapp                               0x000d4293 _mh_execute_header + 41619
18  myapp                               0x000ccd20 _mh_execute_header + 11552
)

Я не могу найти причину этого сбоя, но он чаще всего появляется в моем приложении. Я очень беспокоюсь, кто-нибудь знает что-нибудь об этом? Большое спасибо.

2 ответа

Если вы можете воспроизвести этот сбой, выполнив определенную задачу или просто используя приложение достаточно долго, вы можете подключить отладчик и установить точку останова для [NSException raise], Таким образом, вы можете выяснить, в какой части вашего приложения все испортилось, я использовал это в прошлом, чтобы выяснить, где NSArray вышел за пределы... (и я разбросал дюжину или более по всем исходным файлам)

Во-вторых, вам, вероятно, следует "символизировать" отчет о сбое, чтобы вы могли следить за трассировкой стека… чтобы вы могли выяснить, какой метод / класс в вашем коде испортил все.

Чтобы увидеть обратный вызов, попробуйте добавить в свой проект эту замечательную функцию:

CrashKit

Это ловушка исключения

Другие вопросы по тегам