Есть ли способ получить дополнительную информацию от SIGSEGV? - PullRequest
0 голосов
/ 31 августа 2011

Ниже приведен один из наших последних отчетов о сбоях. Он не символизируется, но после символизации указывает на main.m, что не имеет никакого смысла. Есть ли способ получить дополнительную информацию из этого? Мы также рассмотрели другие темы здесь.

Последняя строка обозначает:
17 OurApp 0x00091d00 main (main.m: 6)

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x10000008
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                     0x30818fbc 0x30815000 + 16316
1   UIKit                               0x339b247d 0x33953000 + 390269
2   UIKit                               0x339b159b 0x33953000 + 386459
3   UIKit                               0x3396c6f3 0x33953000 + 104179
4   CoreFoundation                      0x3737d6af 0x37353000 + 173743
5   QuartzCore                          0x3141ae31 0x31418000 + 11825
6   QuartzCore                          0x314d49d5 0x31418000 + 772565
7   QuartzCore                          0x3141f5af 0x31418000 + 30127
8   QuartzCore                          0x3141f3c3 0x31418000 + 29635
9   QuartzCore                          0x31419a09 0x31418000 + 6665
10  CoreFoundation                      0x373d6fc3 0x37353000 + 540611
11  CoreFoundation                      0x373d4fd7 0x37353000 + 532439
12  CoreFoundation                      0x373d5331 0x37353000 + 533297
13  CoreFoundation                      0x3737703d 0x37353000 + 147517
14  CoreFoundation                      0x37376f05 0x37353000 + 147205
15  GraphicsServices                    0x30dc40d5 0x30dc0000 + 16597
16  UIKit                               0x33954991 0x33953000 + 6545
17  OurApp                              0x00091d00 0x1000 + 593152

Ответы [ 2 ]

0 голосов
/ 20 июня 2013

См. Эти два других вопроса и мой ответ на них о наиболее вероятном месте начала копания: Что может вызвать эту ошибку SIGSEGV? и SIGSEGV SEGV_ACCERR Отчеты о сбоях - Что делать? .Каждый раз, когда вы видите такую ​​трассировку стека, делегируйте эту точку обратно в ваше приложение на объект, который уже был освобожден - это первое место, на которое вы должны обратить внимание.Только проверка кода может вызвать такие проблемы.

0 голосов
/ 31 августа 2011

Используйте QuincyKit или другую платформу, основанную на PLCrashReporter .Вы абсолютно не найдете более полезного источника информации для диагностики сбоев в полевых условиях, и ваши пользователи будут любить вас за это.

...