Ошибка iOS EXC_BAD_ACCESS

#ios #exc-bad-access #crash-reports

#iOS #кроме плохого доступа #отчеты о сбоях

Вопрос:

Я пытаюсь заставить bugsense работать в моем приложении для iOS, но приложение выходит из строя с помощью EXC_BAD_ACCESS при инициализации BugSenseCrashController:

   BugSenseCrashController *crash =
        [BugSenseCrashController sharedInstanceWithBugSenseAPIKey:@"<Your BugSense API Key>"];
  

Мой ключ правильный, и я следовал всем инструкциям, перечисленным здесь:http://www.bugsense.com/docs/ios

Не уверен, куда идти дальше.

РЕДАКТИРОВАТЬ Я изменил свой код, поэтому я не использую UserDictionary (в данный момент он мне не нужен). Проблема по-прежнему сохраняется.

ПРАВКА2 Кажется, это происходит только тогда, когда я запускаю код на устройстве (4.3.5), а не в симуляторе (4.3).

Комментарии:

1. Опубликуйте свой журнал сбоев здесь. В UserDictionary:myCustomData является объектом словаря myCustomData? В любом случае, это мало чем может помочь, если вы не опубликуете свой журнал сбоев. Установите переменной среды NSZombieEnabled значение YES и посмотрите, что будет перезапущено.

2. Привет, Скотт! Можете ли вы опубликовать дополнительную информацию (трассировку стека или сообщение об исключении)? Раньше у нас не было сообщений о каких-либо подобных проблемах.

3. Ник, к сожалению, в процессе попытки устранения проблемы я обновил свой iTouch с 4.3.5 до версии 5.0.1. Я не получаю EXC_BAD_ACCESS при использовании этой версии iOS. Я пытаюсь восстановить версию 4.3.5, но на данный момент у меня это не получается. Если мне удастся восстановить это и я смогу воспроизвести ошибку и создать трассировку стека, есть ли лучший способ связаться с вами?

4. Скотт, ты можешь связаться со мной по nick@bugsense.com

Ответ №1:

Установите NSZombieEnabled, MallocStackLogging и защитите malloc в отладчике. Затем, когда ваше приложение выйдет из строя, введите это в консоли gdb:

 (gdb) info malloc-history 0x543216
  

Замените 0x543216 на адрес объекта, который вызвал сбой, и вы получите гораздо более полезную трассировку стека, и это должно помочь вам точно определить строку в вашем коде, которая вызывает проблему.

Смотрите эту статью для получения более подробных инструкций.

Комментарии:

1. Ну, я уже знаю строку, которая вызывает проблему, я просто не знаю, как это исправить. Похоже, это проблема с iOS 4.3.5 и этой сборкой Bugsense. Кажется, у меня нет проблемы с какой-либо другой версией.

2. info malloc-history Трассировка стека может показать путь выполнения, ведущий к сбою, что, вероятно, прояснит, в чем проблема. В любом случае, сможете ли вы опубликовать трассировку стека или все сообщение об исключении в вашем вопросе?

Ответ №2:

Попробуйте добавить следующие фреймворки: 1. SystemConfiguration 2. libz.1.2.5