Адрес памяти, полученный из отчета о сбое Apple, не читается - PullRequest
1 голос
/ 01 сентября 2011

Я получил отчет о сбое для моего приложения для iOS от Apple, а именно:

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

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   APPNAME                 0x00071fc8 0x6d000 + 20424
1   APPNAME                 0x000733ce 0x6d000 + 25550
2   APPNAME                 0x00072cc0 0x6d000 + 23744
3   Foundation                      0x354cd2ee 0x354bb000 + 74478
.....
14  CoreFoundation                  0x3707bebc 0x37073000 + 36540
15  CoreFoundation                  0x3707bdc4 0x37073000 + 36292
GraphicsServices                0x36835418 0x36831000 + 17432
17  GraphicsServices                0x368354c4 0x36831000 + 17604
18  UIKit                           0x35f25d62 0x35ef7000 + 191842
19  UIKit                           0x35f23800 0x35ef7000 + 182272
20  APPNAME                 0x0006ed46 0x6d000 + 7494
21  APPNAME                 0x0006ed10 0x6d000 + 7440

Я также изучал команду atos и dwarfdump.У меня есть и .dsym, и .app, который был представлен в apple.Однако я не смог найти ничего, используя адрес памяти, заданный Apple (например, 0x0006ed46, 0x00071fc8 и т. Д.).Я попытался рандомизировать адрес и обнаружил, что мой адрес приложения фактически находится в диапазоне от 0x0002xxx до 0x0007xxx

Что случилось?Как я могу узнать, какая часть моего приложения вызывает ошибку?

С наилучшими пожеланиями,

1 Ответ

1 голос
/ 01 сентября 2011

Вам необходимо обозначить свой отчет о сбое с помощью файла dsym. Вы можете увидеть ответ здесь:

Символические отчеты о сбоях приложения iPhone

...