Почему мои контрольные точки не работают?

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

+96
15 сент. '08 в 17:10
источник поделиться
46 ответов
  • 1
  • 2

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

У меня есть еще две вещи, которые нужно добавить.

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

  • Убедитесь, что вы случайно не установили "Конфигурация Active Build" на "Release".

  • В разделе "Цели" на графическом дереве вашего проекта щелкните правой кнопкой мыши по вашей цели и сделайте "Получить информацию". Найдите свойство с именем "Generate Debug Symbols" (или аналогичным) и убедитесь, что это CHECKED (aka ON). Кроме того, вы можете попробовать найти (также в Target → Get Info) свойство "Отладочный информационный формат" и установить его в "Dwarf with dsym file".

В разделе Target → Get Info есть ряд других свойств, которые могут повлиять на вас. Ищите такие вещи, как оптимизация или сжатие кода, и отключите этот материал (я полагаю, вы работаете в режиме отладки, так что это не плохой совет). Кроме того, ищите вещи, такие как снятие символов и убедитесь, что они также выключены. Например, для объекта "Отладка" должно быть установлено значение "Нет связанного с разделителем продукта".

+139
15 сент. '08 в 23:34
источник

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

1) Убедитесь, что target → scheme → Run - находится в режиме отладки (был выпущен)

2) Обязательно проверьте параметр "Отладка исполняемого файла" ниже:

введите описание изображения здесь

+34
17 нояб. '15 в 9:51
источник
другие ответы

Связанные вопросы


Похожие вопросы

Перейдите к настройкам Xcode Debugging. Убедитесь, что "Load Symbols lazily" НЕ выбрано.

+25
15 сент. '08 в 17:10
источник

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

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

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

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

+15
30 апр. '09 в 23:42
источник

Для Xcode 4.x:  Перейти к продукту > Отладка рабочего процесса и снимите флажок "Показать дизассемблирование при отладке".

Для Xcode 5.x  Goto Debug > Отладка рабочего процесса и снимите флажок "Показать дизассемблирование при отладке".

+12
14 мар. '12 в 15:07
источник

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

+8
26 нояб. '09 в 7:35
источник

Другой причиной

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

Короче -

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

enter image description here

+7
13 окт. '15 в 10:11
источник

Для Xcode 4:

go Product -> Debug ->  Activate Breakpoints
+4
03 дек. '12 в 13:56
источник

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

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

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

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

+4
16 окт. '14 в 7:05
источник

Решение для меня с XCode 9.4.1 (не остановилось ни на одной точке останова):

Под build Target → Build Settings → Optimization Level: переключено с "Оптимизация по скорости" → "Без оптимизации" (теперь медленнее, но работает)

+4
19 июл. '18 в 8:10
источник

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

Перейдите в Debug> Debug Workflow и убедитесь, что "Всегда показывать разборку" отключено. Просто как тот. :(

+3
17 мар. '18 в 18:34
источник

У меня много проблем с точками останова в Xcode (2.4.1). Я использую проект, который просто содержит другие проекты (например, решение в Visual Studio). Иногда я нахожу, что точки останова не работают вообще, если в стартовом проекте нет хотя бы одной точки останова (т.е. Той, которая содержит точку входа для моего кода). Если единственные точки останова находятся в проектах "нижнего уровня", они просто игнорируются.

Также кажется, что Xcode корректно обрабатывает операции точки останова, если вы действуете на контрольной точке, когда находитесь в проекте, который содержит строку источника, на которой находится точка останова.

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

+2
18 сент. '08 в 12:34
источник

Мои точки останова не работают, а затем выполняются Build/Clean All Targets, чтобы заставить их работать снова.

+2
09 февр. '09 в 0:56
источник

Я думаю, что проблема может быть несовместимость между версиями устройства и Xcode. У меня возникла эта проблема при попытке отладки моего iPhone 4S под управлением iOS 5.0.1. Я все еще использую Xcode 3.2.5. Я получил символы из телефонной трубки, выбрав "использовать это устройство для разработки" в окне "Организатор". Однако этот телефон отказывается от прерывания. Мой старый 3GS будет точкой останова, тем же проектом Xcode, теми же настройками... просто другим устройством и работает под управлением iOS 4.0. Я предполагаю, что это ошибка Xcode в 3.2.5, так как у меня есть символы. Пробовав все решения, опубликованные здесь до сих пор, я решил, что решение моей проблемы - перейти к обновлению до XCode 4. Возможно, вы не можете эффективно отлаживать, если ваш базовый SDK не меньше, чем система для отладки. Может быть, это очевидно - может ли кто-нибудь подтвердить?

Изменить: я обновлю, когда смогу подтвердить, что это правда.

+2
06 дек. '11 в 12:13
источник

Удаление моей папки сборки решило проблему для меня.

+2
24 февр. '15 в 18:34
источник

Для этого, а также для Xcode 6 и выше убедитесь, что кнопка состояния точки останова активирована (кнопка с синей стрелкой):

enter image description here

+2
15 мар. '15 в 15:28
источник

Это может быть одной из возможных причин того, что это произошло.... перейдите в Product> Scheme> Edit схема>.. Под Run> info> Проверка исполняемого файла "Отладка исполняемого файла".

+2
27 мар. '19 в 14:53
источник

В Xcode 4

- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug 
-      but I have other targets set to AdHoc which debug fine once Debugger is set
+1
03 июл. '12 в 11:57
источник

Я нашел проблему. Каким-то образом "Show Disassembly when debugging" был включен в моем XCode, который создает эту проблему. Когда я отключил его, весь мой отладчик остановился в моем исходном коде.

Вы можете найти его под: Product->Debug Workflow->Show Disassembly при отладке.

+1
25 нояб. '13 в 11:03
источник

Вы можете активировать/отключить точки останова в выпадающем меню enter image description here

+1
08 апр. '14 в 12:00
источник

Если все остальное не удается, вместо точки останова вы можете вызвать следующую функцию:

void BreakPoint(void) {
    int i=1;
    #if !__OPTIMIZE__
    printf("Code is waiting; hit pause to see.\n");
    while(i);
    #endif
}

Чтобы возобновить, вручную установите я на ноль, затем нажмите кнопку возобновления.

+1
11 апр. '15 в 9:18
источник

В XCode 6.3.1 произошло то же самое. Мне удалось это исправить:

  • Переход к Просмотр- > Навигаторы- > Показать отладочные навигаторы
  • Щелкните правой кнопкой мыши в корне проекта → Переместить точки останова (если выбран параметр "Пользователь" )
  • (Я также выбрал опцию разделять точки останова, хотя я не уверен, что это необходимо).

После выполнения этого изменения я устанавливаю опции Move breakpoints обратно в проект и не выбираю опцию Breakpoints Share и все еще работает.

Я точно не знаю, почему, но это возвращает мои контрольные точки.

+1
12 мая '15 в 15:01
источник

Я пробовал все перечисленные выше вещи, но только один раз отключил отладочные точки останова, а затем активировал их.

+1
08 авг. '17 в 11:11
источник

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

Также убедитесь, что в настройках отладки не выбрано "Load Symbols lazily".

(относится к Xcode 3.1, не уверен в прошлых/будущих версиях)

0
15 сент. '08 в 19:49
источник

Я немного не делал Xcode, но рекомендую отключить "Zerolink" и "Load Symbols Lazily"; что устранит большинство проблем. В любом случае Зеролинк - мерзость.

0
15 сент. '08 в 23:38
источник

Кажется, что есть 3 состояния для контрольных точек в Xcode. Если вы нажмете на них, они пройдут разные настройки. Синий цвет включен, выделение серым цветом отключено, и я иногда видел бледно-голубые, что требовало, чтобы я снова нажал на точку останова, чтобы перейти к темно-синему цвету.

Кроме этого, убедитесь, что вы запускаете его с помощью команды debug, а не команды run. Вы можете сделать это, либо нажав опцию + команду + вернуть, либо вариант Go (debug) из меню прогона.

0
15 сент. '08 в 23:39
источник

Я считаю, что проект также может быть поврежден в отношении точек останова. Например, у меня есть проект, который НЕ БУДЕТ ломаться над любыми точками останова, которые он помнит из предыдущего сеанса. Я впервые написал об этом здесь

0
18 сент. '08 в 20:04
источник

Также убедитесь, что приложение AppStore приложения также не установлено на устройстве.

0
27 апр. '09 в 5:58
источник

Еще одна вещь, которую нужно проверить, это то, что если у вас есть файл plist "Entitlements" для вашего режима отладки (возможно, из-за того, что вы делаете материал с помощью Keychain), убедитесь, что в файле plist есть "get-task-allow" = ДА строка. Без него отладка и ведение журнала будут нарушены.

0
22 июл. '09 в 14:24
источник

У меня есть Xcode 3.2.3 SDK 4.1. Точки останова будут прерываться случайным образом. Я нашел, если вы очищаете сборку и используете команду touch в сборке, они работают снова.

0
04 авг. '10 в 21:36
источник
  • 1
  • 2

Посмотрите другие вопросы по меткам или Задайте вопрос