Iphone Crash log не символизирует вызовы UIKit - PullRequest
3 голосов
/ 25 октября 2010

Кто-нибудь когда-либо видел такой журнал аварий, как этот, где UIKit и другие системные библиотеки не символизируются? У одного из наших приложений есть проблема с падением на запустить, но только небольшое количество пользователей (например, 5) испытывают проблему. (Насколько я понимаю, default.png отображается, а затем он падает), и мы не смогли воспроизвести его. Кажется, в коде ничего не забыто, и я запустил статический анализатор, и он не показывает никаких проблем. Но тот факт, что UIKit и другие библиотеки не символизируются, это странно для меня. Я посмотрел libSystem.B.dylib 0000000000 0 + 0, и в Google есть несколько обращений по этому поводу и связи со статическими библиотеками. Этот проект использует статические библиотеки, но я предполагаю, что если бы с ними возникла проблема, он бы не работал ни на одном устройстве, а только на паре.

Exception Type:  EXC_BAD_ACCESS (SIGBUS)  
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000  
Crashed Thread:  0  

Thread 0 Crashed:  
0  libSystem.B.dylib              0000000000 0 + 0  
1  UIKit                          0x0068a0dc 0x66c000 + 123100  
2  MyApp                         0x000307b2 -[RootViewController defaultImage]       (RootViewController.m:39)  
3  MyApp                         0x00030720 -[RootViewController loadView] (RootViewController.m:49)  
4  MyApp                         0x00030182 -[RootViewController loadView] (RootViewController.m:43)  
5  MyApp                         0x00031894 -[AppDelegate applicationDidFinishLaunching:] (AppDelegate.m:52)  
6  UIKit                          0x31ada4b8 0x31acc000 + 58552  
7  UIKit                          0x31ad09e2 0x31acc000 + 18914  
8  UIKit                          0x31b29fd8 0x31acc000 + 384984  
9  UIKit                          0x31b298fc 0x31acc000 + 383228  
10 UIKit                          0x31b29332 0x31acc000 + 381746  
11 GraphicsServices               0x3026c046 0x30267000 + 20550  

Это метод defaultImage в полном объеме

-(UIImage*)defaultImage
{
  return [UIImage imageNamed: @"Default.png"];
}

Мы получили ipa от одного из пользователей, и файл Default.png не поврежден.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Xcode больше не включает в себя все для каждой версии iOS на каждом оборудовании.Вместо этого он будет извлекать информацию с устройства.

Выясните, какую ОС и устройство используют эти пользователи (возможно, это то же самое) и подключите одну к вашему Mac.Xcode будет отбирать то, что ему нужно от него.

0 голосов
/ 25 октября 2010

Я могу подтвердить, что в некоторых случаях это происходило и с журналами аварий для моего приложения.До сих пор я не смог их символизировать дальше.Кажется, нет причины, по которой некоторые из них символизируют полностью, а другие нет.

Вы делали архивирование и сборку для версии, которую вы отправили в App Store?По какой-то причине XCode, кажется, намного лучше символизирует журналы из архивных сборок приложений, поэтому я всегда стараюсь это делать.заставка из фоновой темы?Это не вызовет сбой на всех устройствах, но это происходит на некоторых (опять же, кажется, нет причины, по которой он дает сбой определенным устройствам, а не другим, которые я обнаружил).Это затронуло меня в моем приложении, потому что оно не приводило к падению симулятора или любого из моих устройств, но оно приводило к падению небольшого процента устройств моих пользователей.Я выполнял инициализацию, используя фоновый поток, и только позже прочитал, что вы можете использовать только UIKit из основного потока.Я изменил его, и у меня больше не было проблем.

...