Ответ 1
Из того, что я вижу, LLDB, кажется, сломан в Xcode 4.2 и 4.2.1. Перейдите в GDB в настройках "Изменить схему".
Точки останова работают так же, как ожидалось после переключения на GDB.
Мое приложение работает нормально и, как ожидалось, но по какой-то причине, когда я помещаю точки останова, вхождение в/над/возобновление приводит к сбою программы с EXC_BAD_ACCESS. Этого не происходит, если я удаляю/выключаю точки останова.
Любые советы?
Из того, что я вижу, LLDB, кажется, сломан в Xcode 4.2 и 4.2.1. Перейдите в GDB в настройках "Изменить схему".
Точки останова работают так же, как ожидалось после переключения на GDB.
Для тех, кто может испытать одно и то же с Xcode 5.0.1 и Mavericks: Попробуйте удалить все свои схемы и автоматически создать их снова - это исправило это для меня.
Где вы используете lldb вместо gdb? Я получаю это систематически с Xcode 4.2.1 и lldb. Возврат к gdb (booooo) решает проблему.
Я использую Xcode 4.3.2 и Xcode автоматически обновлять отладку до LLDB (всплывающее диалоговое окно, и я подтверждаю его). Это действительно кошмар, он падает, когда я вхожу в любой вызов функции 8-9 из 10.
Изменить обратно в GDB теперь лучше!
Это была ошибка с XCode 5.0.1 и Mavericks. Apple выпустила 5.0.2, и исправлена ошибка!
EXC_BAD_ACCESS
означает, что у вас есть проблема с памятью где-то - очень вероятно, что что-то выпущено, когда вы ожидаете, что он все еще будет рядом (возможно, результат autorelease
). Запустите статический анализатор, чтобы найти его. Я предполагаю, что вы видите сбой, потому что отладчик агрессивно занимает память при загрузке точек останова и, следовательно, помешает проблеме где-то еще.
Для чего это стоит, у меня такая же проблема. Я могу взять код, который, как я знаю, верен, и если я вхожу в него с lldb, он падает после достижения точки останова. Я также получаю вывод, как это, когда я пытаюсь напечатать любые locals
(lldb) p self
error: use of undeclared identifier 'self'
error: 1 errors parsing expression
Похоже, lldb находится в Xcode 4.2.1. Единственный совет, который у меня есть, - это вернуться к gdb.