Почему мои точки останова не работают?



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

752   30  

30 ответов:

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

У меня есть еще две вещи, чтобы добавить.

  1. убедитесь, что вы случайно не установили "активную конфигурацию сборки" в "Выпускать."

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

есть ряд других свойств под Target > > Get Информация, которая может повлиять на вас. Ищите такие вещи, как оптимизация или сжатие кода и выключите этот материал (я предполагаю, что вы работаете в режиме отладки, так что это не плохой совет). Кроме того, ищите такие вещи, как символы зачистки и убедитесь, что они также выключены. Например, для цели отладки" Strip Linked Product "должно быть установлено значение" No".

перейдите в настройки отладки Xcode. Убедитесь, что не выбран параметр "загружать символы лениво".

в Xcode 7, что работало для меня было:

1) Убедитесь, что target - > scheme - > Run - находится в режиме отладки (was Release)

2) обязательно отметьте опцию "Debug executable" см. ниже:

enter image description here

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

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

вы можете выполнить ту же задачу в finder с помощью справа / опция-щелчок по кнопке .xcodeproj связка и комплектация "показать содержимое пакета".

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

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

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

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

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

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

короче -

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

enter image description here

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

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

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

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

Для Xcode 4:

go Product -> Debug ->  Activate Breakpoints

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

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

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

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

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

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

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

enter image description here

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

В разделе цель сборки - > настройки сборки - > уровень оптимизации: Переключено с "оптимизировать для скорости" - > " нет оптимизации "(теперь это медленнее, но работает)

У меня были мои точки останова не работают, а затем сделано построить / очистить все цели, чтобы заставить их работать снова.

В 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

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

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

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

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

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

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

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

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

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

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

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

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

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

также убедитесь, что "загрузка символов лениво" не выбран в настройках отладки.

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

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

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

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

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

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

вот неясный, с которым я столкнулся: если вы работаете над общей библиотекой (или плагином), ваши точки останова будут желтыми при запуске, что может привести к тому, что вы забьете свою клавиатуру в расстройстве и убьете процесс отладки. Ну, не делай этого! Символы не будут загружаться до тех пор, пока приложение не загрузит библиотеку, после чего точки останова станут действительными. Я столкнулся с этой проблемой с плагином браузера... BPs были отключены, пока я не перешел на страницу, которая создала экземпляр моего плагина.

Я столкнулся с той же проблемой, когда я хотел отладить веб-плагин, где пользовательский исполняемый файл был Safari 5.1. Он работал нормально, пока не обновил мое сафари до 5.1 с 4.0.5. После того, как я снова установил Safari 4.0.5, все точки останова начали работать без изменения каких-либо настроек Xcode.

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

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

Comments

    Ничего не найдено.