Я разрабатываю SDK для iOS, и я помещаю в код код assert(), чтобы помочь мне поймать ошибки. Он отлично работает при использовании симулятора, но если я построю свое приложение (Debug-iphoneos) на устройстве, отключите его от моего mac и оставьте его для тестирования, журнал сбоев, который я получаю из отказа подтверждения, невозможно понять. реальный образец из основного отказа ноль утверждение:Как отлаживать утверждение при создании Debug-iphoneos
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0
Filtered syslog:
None found
Global Trace Buffer (reverse chronological seconds):
10.153264 CFNetwork 0x0000000021bb897d TCP Conn 0x14dbd8c0 complete. fd: 9, err: 0
10.154690 CFNetwork 0x0000000021bb9a7f TCP Conn 0x14dbd8c0 event 1. err: 0
10.288093 CFNetwork 0x0000000021bb9afd TCP Conn 0x14dbd8c0 started
10.293561 CFNetwork 0x0000000021bff26f Creating default cookie storage with default identifier
10.293562 CFNetwork 0x0000000021bff24b Faulting in CFHTTPCookieStorage singleton
10.293562 CFNetwork 0x0000000021c418f7 Faulting in NSHTTPCookieStorage singleton
10.514965 CFNetwork 0x0000000021bb897d TCP Conn 0x14d88140 complete. fd: 4, err: 0
10.514965 CFNetwork 0x0000000021bb9a7f TCP Conn 0x14d88140 event 1. err: 0
10.789507 CFNetwork 0x0000000021bb9afd TCP Conn 0x14d88140 started
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libswiftCore.dylib 0x00509e10 0x3af000 + 1420816
1 MyFramework 0x002ddfec 0x24f000 + 585708
Любой шанс, что я могу получить более подробную информацию из журнала аварии? Я попытался atos -arch armv7 -o MyApp.app/MyApp 0x24f000
без какого-либо успеха (возвращение 0x24f000)
... почему бы вам просто не запереть устройство и установить точку останова при утверждении? – nhgrif
Я не одинок в проекте, и есть 3 активных тестера – HaneTV
Я бы порекомендовал пару вещей тогда ... утверждение должно использоваться для чего-то, чего вы ожидаете никогда не быть правдой, поэтому я бы начал с некоторого анализа о том, как ваше предположение было неправильным. Затем добавьте некоторые записи (и правильная библиотека ведения журнала, такая как CocoaLumberjack, полезна). Затем добавьте некоторые подходящие средства отслеживания сбоев, такие как Crashlytics. И, наконец, в худшем случае, для целей отладки, измените свои утверждения на fatalErrors, которые должны быть лучше для размещения следов стека в журналах сбоев. – nhgrif