2016-04-13 3 views
0

Я разрабатываю 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)

+0

... почему бы вам просто не запереть устройство и установить точку останова при утверждении? – nhgrif

+0

Я не одинок в проекте, и есть 3 активных тестера – HaneTV

+0

Я бы порекомендовал пару вещей тогда ... утверждение должно использоваться для чего-то, чего вы ожидаете никогда не быть правдой, поэтому я бы начал с некоторого анализа о том, как ваше предположение было неправильным. Затем добавьте некоторые записи (и правильная библиотека ведения журнала, такая как CocoaLumberjack, полезна). Затем добавьте некоторые подходящие средства отслеживания сбоев, такие как Crashlytics. И, наконец, в худшем случае, для целей отладки, измените свои утверждения на fatalErrors, которые должны быть лучше для размещения следов стека в журналах сбоев. – nhgrif

ответ

Смежные вопросы