У меня установлены точки останова, но Xcode игнорирует их.
xcode
breakpoints
Алан Клей
источник
источник
Ответы:
Прежде всего, я на 100% согласен с предыдущими людьми, которые сказали « ВЫКЛЮЧИТЕ»
Load Symbols Lazily
.Я хочу добавить еще две вещи.
(Мое первое предложение кажется очевидным, но в первый раз, когда мне его предложили, моя реакция была такой: «давай, пожалуйста, ты правда думаешь, что я не знаю лучше ... о.»)
Убедитесь, что вы случайно не установили «Active Build Configuration» на «Release».
В разделе «Цели» в графическом дереве вашего проекта щелкните правой кнопкой мыши цель и выберите «Получить информацию». Найдите свойство с именем «Generate Debug Symbols» (или подобное) и убедитесь, что оно ПРОВЕРЕНО (также известно, как ON). Кроме того, вы можете попробовать найти (также в Target >> Get Info) свойство под названием «Debug Information Format» и установить для него значение «Dwarf with dsym file».
В разделе «Цель >> Получить информацию» есть ряд других свойств, которые могут повлиять на вас. Найдите такие вещи, как оптимизация или сжатие кода, и выключите эти вещи (я предполагаю, что вы работаете в режиме отладки, так что это неплохой совет). Кроме того, обратите внимание на такие вещи, как символы снятия изоляции, и убедитесь, что он также выключен. Например, для параметра «Удалить связанный продукт» должно быть установлено значение «Нет» для цели отладки.
источник
В Xcode 7 у меня сработало:
1) Убедитесь, что цель -> схема -> Выполнить - находится в режиме отладки (был Release)
2) Обязательно установите флажок «Отладка исполняемого файла», см. Ниже:
источник
Перейдите в настройки отладки Xcode. Убедитесь, что НЕ выбран параметр «Загружать символы лениво».
источник
У меня была такая же проблема (снова). После троекратной проверки «Лениво загружать символы» и удаления флагов генерации отладочной информации я сделал следующее:
Вы можете выполнить ту же задачу в Finder, щелкнув правой кнопкой мыши пакет .xcodeproj и выбрав «Показать содержимое пакета».
Когда я перезапустил Xcode, все мои окна были сброшены в положение по умолчанию и т.д., но точки останова работали!
источник
Для Xcode 4.x: перейдите в раздел Продукт> Рабочий процесс отладки и снимите флажок «Показывать разборку при отладке».
Для Xcode 5.x выберите «Отладка»> «Рабочий процесс отладки» и снимите флажок «Показывать разборку при отладке».
источник
Другой причиной
Установите
DeploymentPostprocessing
NO в BuildSettings - подробности здесьКоротко -
источник
YES
только у меня,subproject
а затем точки останова не работалиsubprojects
. И после настройкиNO
все было идеально!См. Этот пост: Точки останова не работают в Xcode? . Возможно, вы нажимаете «Выполнить» вместо «Отладка», и в этом случае ваша программа не запускается с помощью gdb, и в этом случае вы не можете ожидать, что точки останова сработают!
источник
Одним из возможных решений для этого может быть .... перейдите в Продукт> Схема> Изменить схему> .. В разделе «Выполнить»> «Информация»> «Исполняемый файл» установите флажок «Отладка исполняемого файла».
источник
Это заставило меня работать в Xcode 9 на полдня разочарований. В итоге это была простая настройка отладки.
Перейдите в раздел «Отладка»> «Рабочий процесс отладки» и убедитесь, что параметр «Всегда показывать дизассемблирование» отключен. Просто как тот. :(
источник
Решение для меня с XCode 9.4.1 (не остановилось ни на одной точке останова):
В разделе «Цель сборки» -> «Параметры сборки» -> «Уровень оптимизации»: переключено с «Оптимизировать по скорости» -> «Без оптимизации» (теперь работает медленнее, но работает)
источник
То, что решило это в моем случае, было довольно простым: в Xcode - Product - Clean Build Folder, а затем Product - Run (а не на кнопку Play Xcode).
(Была проблема с Xcode 11 -beta 4 после переключения на модульное тестирование с долгим нажатием кнопки воспроизведения Xcode)
источник
Пришел на эту страницу с той же проблемой (код C в Xcode 6 не останавливается на точках останова), и ни одно из вышеперечисленных решений не сработало (проект был практически из коробки, с точки зрения настроек, так что мало шансов, что какие-либо настройки отладчика будут установить неверное значение) ...
Потратив некоторое время на устранение проблемы, я наконец выяснил виновника (для моего кода):
Xcode (/ LLVM) не любит
#line
команды препроцессора в стиле Bison .Их удаление устранило проблему (отладчик остановился на моих точках останова).
источник
Для Xcode 4:
источник
У меня много проблем с точками останова в Xcode (2.4.1). Я использую проект, который просто содержит другие проекты (например, решение в Visual Studio). Иногда я замечаю, что точки останова вообще не работают, если в стартовом проекте не установлена хотя бы одна точка останова (то есть та, которая содержит точку входа для моего кода). Если единственные точки останова находятся в проектах «нижнего уровня», они просто игнорируются.
Также кажется, что Xcode правильно обрабатывает операции с точкой останова, только если вы действуете на точку останова, когда находитесь в проекте, который содержит исходную строку, на которой установлена точка останова.
Если я попытаюсь удалить или отключить точки останова через другой проект, действие иногда не вступает в силу, даже если отладчик указывает, что это так. Так что я обнаружу, что ломаюсь на отключенных точках останова или на (теперь невидимой) точке останова, которую я удалил ранее.
источник
У меня не работали точки останова, а затем я выполнил Build / Clean All Targets, чтобы они снова заработали.
источник
Я думаю, проблема может заключаться в несовместимости версий устройства и Xcode. У меня возникает эта проблема при попытке отладки на моем iPhone 4S под управлением iOS 5.0.1. Я все еще использую Xcode 3.2.5. Я получил символы с телефона, выбрав «использовать это устройство для разработки» в окне Организатора. Однако этот телефон отказывается от точки останова. Мой старый 3GS будет иметь точку останова, тот же проект Xcode, те же настройки ... просто другое устройство, работающее под управлением iOS 4.0. Я предполагаю, что это ошибка Xcode в 3.2.5, поскольку у меня есть символы. Перепробовав все решения, опубликованные здесь до сих пор, я решил, что решение моей проблемы состоит в том, чтобы продолжить и перейти на XCode 4. Возможно, вы не сможете эффективно отлаживать, если ваш базовый SDK не ниже уровня системы, на которой выполняется отладка. Может это очевидно - может кто-нибудь подтвердить?
Изменить: я обновлю, когда смогу подтвердить, что это правда.
источник
Удаление моей папки Build решило проблему для меня.
источник
То же самое случилось со мной в XCode 6.3.1. Мне удалось это исправить:
После внесения этого изменения я установил параметры « Переместить точки останова» обратно в проект и снял флажок « Совместное использование точек останова» , и все еще работал.
Я точно не знаю почему, но это возвращает мои точки останова.
источник
Для этого, а также для Xcode 6 и выше убедитесь, что кнопка состояния точки останова активирована (кнопка в виде синей стрелки):
источник
В Xcode 4
источник
Я нашел проблему. Каким-то образом в моем XCode был включен параметр « Показывать разборку при отладке », что создает эту проблему. Когда я отключил его, весь мой отладчик остановился в моем исходном коде.
Вы можете найти его:
Product->Debug Workflow->Show Disassembly
при отладке.источник
Вы можете активировать / деактивировать точки останова в раскрывающемся меню
источник
Если ничего не помогает, вместо точки останова можно вызвать следующую функцию:
Чтобы продолжить, вручную установите i в ноль, затем нажмите кнопку возобновления.
источник
Я пробовал все вышеперечисленное, но для меня только один раз отключение точек останова отладки и их активация сработали.
источник
При установке точки останова щелкните правой кнопкой мыши, и вы должны получить несколько вариантов того, как обрабатывается точка останова (переменные журнала и продолжить, приостановить выполнение и т. Д.)
Также убедитесь, что в настройках отладки не выбран параметр «Загружать символы лениво».
(Относится к Xcode 3.1, не уверен в прошлых / будущих версиях)
источник
Также убедитесь, что на устройстве не установлен дистрибутив приложения из магазина AppStore.
источник
Еще одна вещь, которую следует проверить, - это то, что если у вас есть файл plist «Права» для вашего режима отладки (возможно, потому, что вы делаете что-то с Keychain), убедитесь, что в файле plist есть строка «get-task-allow» = YES. Без него отладка и логирование будут нарушены.
источник
Похоже, что для точек останова в Xcode есть 3 состояния. Если вы нажмете на них, они перейдут к другим настройкам. Темно-синий включен, серый цвет отключен, и я иногда видел бледно-синий цвет, который требовал, чтобы я снова щелкнул точку останова, чтобы она перешла к темно-синему цвету.
Кроме этого, убедитесь, что вы запускаете его с помощью команды отладки, а не команды запуска. Вы можете сделать это, нажав option + command + return или выбрав опцию Go (отладка) в меню запуска.
источник
У меня есть Xcode 3.2.3 SDK 4.1. Точки останова не работают случайным образом. Я обнаружил, что если вы очистите сборку и используете команду touch под сборкой, они снова заработают.
источник
Вот одна непонятная проблема, с которой я столкнулся: если вы работаете над общей библиотекой (или надстройкой), ваши точки останова станут желтыми при запуске, что может привести к разочарованию в клавиатуре и прерыванию процесса отладки. Что ж, не делай этого! Символы не будут загружены, пока приложение не загрузит библиотеку, после чего точки останова станут действительными. Я столкнулся с этой проблемой с плагином для браузера ... BP были отключены, пока я не перешел на страницу, на которой был создан мой плагин.
источник