Почему мои контрольные точки не работают? - PullRequest
92 голосов
/ 15 сентября 2008

У меня установлены контрольные точки, но Xcode, похоже, игнорирует их.

Ответы [ 46 ]

136 голосов
/ 16 сентября 2008

Прежде всего, я согласен на 100% с более ранними людьми, которые сказали, что ход OFF Load Symbols Lazily.

Мне нужно добавить еще две вещи.

(Мое первое предложение звучит очевидным, но когда кто-то предложил мне его в первый раз, моя реакция шла по следующему принципу: «давай, пожалуйста, ты действительно думаешь, что я не буду знать лучше ...... о. «)

  1. Убедитесь, что вы случайно не установили «Active Build Configuration» на «Release».

  2. В разделе «Цели» на графическом древовидном изображении вашего проекта щелкните правой кнопкой мыши на Цели и выполните «Получить информацию». Найдите свойство с именем «Создать символы отладки» (или аналогичное) и убедитесь, что оно ПРОВЕРЕНО (или ВКЛЮЧЕНО). Также вы можете попытаться найти (также в Target >> Get Info) свойство с именем «Debug Information Format» и установить для него значение «Dwarf with dsym file».

В разделе Цель >> есть информация о других свойствах, которые могут повлиять на вас. Ищите такие вещи, как оптимизация или сжатие кода и выключайте его (я предполагаю, что вы работаете в режиме отладки, так что это неплохой совет). Кроме того, ищите такие вещи, как удаление символов и убедитесь, что они также выключены. Например, для целевого объекта «Отладка» следует установить «Нет связанного продукта» на «Нет».

29 голосов
/ 17 ноября 2015

В Xcode 7 у меня сработало:

1) Убедитесь, что цель -> схема -> Выполнить - находится в режиме отладки (была версия)

2) Обязательно установите флажок «Отладка исполняемого файла», см. Ниже:

enter image description here

25 голосов
/ 15 сентября 2008

Перейдите в настройки отладки Xcode. Убедитесь, что «Загрузка символов лениво» НЕ выбрана.

14 голосов
/ 01 мая 2009

У меня просто была такая же проблема (снова). После тройной проверки «Лениво загружать символы», а также флагов удаления и отладки информации я сделал следующее:

  1. выйти из Xcode
  2. откройте окно терминала и перейдите в каталог проекта
  3. перейдите в каталог .xcodeproj
  4. удалить все, кроме файла .pbxproj (у меня были frank.mode1v3 и frank.pbxuser)

Вы можете выполнить ту же задачу в Finder, щелкнув правой кнопкой / опцией по пакету .xcodeproj и выбрав «Показать содержимое пакета».

Когда я перезапустил Xcode, все мои окна были сброшены в положение по умолчанию и т. Д., Но точки останова работали!

12 голосов
/ 14 марта 2012

Для Xcode 4.x: Перейдите в Product> Debug Workflow и снимите флажок «Показывать разборку при отладке».

Для Xcode 5.x Перейдите в раздел «Отладка»> «Рабочий процесс отладки» и снимите флажок «Показать разборку при отладке».

8 голосов
/ 26 ноября 2009

Смотрите это сообщение: Точки останова не работают в Xcode? . Возможно, вы нажимаете «Run» вместо «Debug», в этом случае ваша программа не запускается с помощью gdb, и в этом случае вы не можете ожидать, что точки останова будут работать!

7 голосов
/ 13 октября 2015

Другая причина

Установите DeploymentPostprocessing в NO в BuildSettings - подробности здесь

Короче говоря -

Активация этого параметра означает, что двоичные файлы должны быть удалены и Информация о режиме файла, владельце и группе должна быть установлена ​​на стандарт ценности. [DEPLOYMENT_POSTPROCESSING]

enter image description here

4 голосов
/ 03 декабря 2012

Для Xcode 4:

go Product -> Debug ->  Activate Breakpoints
4 голосов
/ 16 октября 2014

Пришел на эту страницу с той же проблемой (код C в Xcode 6 не останавливается на точках останова), и ни одно из вышеупомянутых решений не сработало (проект был практически из коробки, с точки зрения настроек, поэтому у любого в настройках отладчика задано неверное значение) ...

Потратив довольно много времени на решение проблемы, я, наконец, выяснил виновника (для моего кода):

Xcode (/ LLVM) не любит команды препроцессора в стиле Bison #line.

Удаление их устранило проблему (отладчик остановился на моих точках останова).

3 голосов
/ 17 марта 2018

Это привело меня в Xcode 9 на половину разочаровывающего дня. В итоге это была простая настройка отладки.

Перейдите в раздел «Отладка»> «Рабочий процесс отладки» и убедитесь, что «Всегда показывать разборку» отключено. Просто как тот. (

...