аварийное тестирование завершается с помощью сборки EXEC_BAD_ACCESS с компилятором llvm 2.0 - PullRequest
3 голосов
/ 14 марта 2011

Я перенес текущий проект из Xcode 3 в Xcode 4. Специальная сборка компилятором LLVM 2.0 падает на iPod Touch 2G (iOS 4.2.1), но хорошо работает на iPad (iOS 4.3). Этого никогда не случалось до перехода на Xcode 4.

Когда я тестировал конфигурацию отладки на устройстве, сбоев не было. Когда я протестировал специальную конфигурацию (продублированную из релиза), произойдет сбой. Когда я переключаю версию компилятора в специальной конфигурации с «LLVM 2.0» на «LLVM GCC4.2» или «GCC 4.2», сбой не происходит.

Поэтому я использую "LLVM GCC 4.2" для ad-hoc и выпускаю конфигурацию в качестве обходного пути. Но я хочу знать, каковы возможные причины аварии.

Я не опубликовал отчет о сбое, потому что он ничего не говорит, кроме сбоя в потоке 0, нет потока стека.

Ответы [ 3 ]

3 голосов
/ 14 апреля 2011

Пожалуйста, попробуйте Xcode 4.0.2, который содержит целевое исправление ошибки для LLVM Compiler 2.0, исправляющее проблему с такими симптомами.

Спасибо!

-Chris

1 голос
/ 23 июня 2011

Обновление до xCode 4.0.2 - это все, что вам нужно!Вот полезная ссылка, объясняющая проблему: https://devforums.apple.com/thread/92279?start=50&tstart=0 (необходим аккаунт Apple)

1 голос
/ 27 марта 2011

Я думаю, что это связано с тем, что удаленный отладчик не может подключиться к вашему приложению по телефону по какой-либо причине. Есть ли в вашем проекте Xcode 3 список Entitlements.plist с установленным get-task-allow? Вы убираете символы отладки? Оптимизация компилятора? Посмотрите в окне «Органайзер» в журнале консоли вашего устройства, и я уверен, что вы увидите ошибки о com.apple.debugserver, если уверены, что у вас нет других проблем с кодом.

У меня была похожая ситуация, и, возможно, она все еще не решена полностью. В моей схеме «Release», использующей конфигурацию сборки Ad-Hoc, я сказал Xcode не подключаться к GDB во время работы, но заметил, что он все еще пытался подключить удаленный отладчик, поэтому я думаю, что он сразу же потерпит крах. После сбоя я остановил бы запущенный в настоящее время процесс в XCode и затем вручную запустил установленное приложение с телефона, которое работало правильно.

Весьма вероятно, что это не ошибка ваших приложений, а скорее идеальный шторм вашего проекта, настроек сборки и удаленного отладчика. Попробуйте поиграть с настройками бега, и, возможно, вы сможете извлечь из него радр.

...