#ios #lldb #sigabrt
#iOS #lldb #sigabrt
Вопрос:
Мое приложение периодически выходит из строя с помощью SIGABRT, но в консоли (почти) нет информации, указывающей причину.
dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=@executable_path/Frameworks/libclang_rt.asan_ios_dynamic.dylib:/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00000001b8b16504 libsystem_kernel.dylib`mach_msg_trap 8
frame #1: 0x00000001b8b16b9c libsystem_kernel.dylib`mach_msg 76
frame #2: 0x0000000181c43688 CoreFoundation`__CFRunLoopServiceMachPort 372
frame #3: 0x0000000181c4797c CoreFoundation`__CFRunLoopRun 1212
frame #4: 0x0000000181c5b3b8 CoreFoundation`CFRunLoopRunSpecific 600
frame #5: 0x000000019d5eb38c GraphicsServices`GSEventRunModal 164
frame #6: 0x00000001845fb6a8 UIKitCore`-[UIApplication _run] 1100
...
(lldb) po $arg1
268451845
(lldb) po $arg2
117442566
Первая строка содержит ссылку на libMainThreadChecker
, которая может указывать на то, что что-то вызывает код пользовательского интерфейса из фонового потока, но есть также ссылки на другие инструменты отладки, например libBacktraceRecording и libViewDebuggerSupport , так что, возможно, это ничего не значит.
У меня есть точка останова исключения (Exception: All, Break On: Throw), но она не срабатывает. Рабочий процесс отладки> Всегда показывать разборку не отмечен, оптимизация отключена, формат отладочной информации является КАРЛИКОВЫМ с dSYM.
Я искал SIGABRT, а также значения arg1, arg2, но ничего полезного не появилось. Как, черт возьми, вы понимаете, что является причиной этого?
ОБНОВЛЕНИЕ: из журнала сбоев:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 6 Abort trap: 6
Это происходит только на устройстве, все симуляторы работают нормально.
Комментарии:
1. Проверьте эту страницу на сайте разработчиков Apple.