Я получаю интересный катастрофический отказ, который я, никогда может казаться, не копирую на средстве моделирования:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x3212e86c 0x3212c000 + 10348
1 StockTwits 0x00016b06 0x1000 + 88838
2 Foundation 0x30718422 0x306db000 + 250914
3 Foundation 0x307183a4 0x306db000 + 250788
4 CFNetwork 0x30933e74 0x30923000 + 69236
5 CFNetwork 0x30927b70 0x30923000 + 19312
6 CFNetwork 0x30927e62 0x30923000 + 20066
7 CFNetwork 0x30927a60 0x30923000 + 19040
8 CFNetwork 0x30927a12 0x30923000 + 18962
9 CFNetwork 0x30927990 0x30923000 + 18832
10 CFNetwork 0x3092790e 0x30923000 + 18702
11 CoreFoundation 0x30352a86 0x302e1000 + 465542
12 CoreFoundation 0x30354768 0x302e1000 + 472936
13 CoreFoundation 0x30355504 0x302e1000 + 476420
14 CoreFoundation 0x302fe8e4 0x302e1000 + 121060
15 CoreFoundation 0x302fe7ec 0x302e1000 + 120812
16 GraphicsServices 0x31a776e8 0x31a74000 + 14056
17 GraphicsServices 0x31a77794 0x31a74000 + 14228
18 UIKit 0x323272a0 0x32321000 + 25248
19 UIKit 0x32325e10 0x32321000 + 19984
20 StockTwits 0x00002fd4 0x1000 + 8148
21 StockTwits 0x00002fa4 0x1000 + 8100
У меня есть включенный NSZombies, а также вход стека. Пробежал статический анализатор, чтобы удостовериться, что все объекты сохранены и выпущены правильно, хотя у меня есть чувство, что он все еще связан для сохранения/выпущения.
Мысли?
Вы, должно быть, разыменовываете NULL-указатель, иначе сбой не произойдет. Статический анализатор - хороший инструмент для подсказок о том, что вы делаете неправильно. Однако отсутствие ошибки не означает, что ваша программа не содержит ошибок. Также включение зомби не всегда помогает. Иногда это просто небольшая оплошность.
Тот факт, что симулятор не показывает эту проблему, не говорит о многом. В конце концов, это другая машина с другим процессором и другой архитектурой. Бывают случаи, когда ложный код хорошо работает на одной платформе, но дает сбой на другой.
Вам следует повторно символизировать трассировку стека и внимательно изучить функцию, в которой происходит сбой. Если вам нужна дополнительная помощь, вероятно, лучше всего разместить здесь часть кода.
Еще один совет: эти проблемы часто распространяются на несколько методов. Анализатор видит только один метод за раз. Вы должны посмотреть, что случилось с объектами в вашем методе сбоя, ДО того, как он был введен.