#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