Подтвердить что ты не робот

Всегда останавливайтесь в делегате приложения после включения Все точки прерывания исключения

Когда я включаю все контрольные точки исключений, мое приложение всегда останавливается в AppDelegate, но им удается продолжить выполнение программы, но очень раздражающая причина всегда приводит меня к appdelegate. Любые идеи, почему?

enter image description here

4b9b3361

Ответ 1

Включить только точки останова Objective-C.

Чтобы увидеть фактический оператор, вызывающий ошибку, добавьте контрольную точку исключения:

  • Из главного меню Отладка: точки останова: создание точки останова исключений.

  • Щелкните правой кнопкой мыши точку останова и установите исключение в Objective-C. Это игнорирует другие типы исключений, например, из С++. Существуют части API, которые используют исключения, такие как Core Data (Apple Special).

  • Добавьте действие: "po $arg1".

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

Пример точки останова:

Ответ 2

Если вы используете Swift или хотите удалить все исключения, вы можете изменить параметр "Все исключения" для автоматического продолжения после оценки действий. Просто найдите его в навигаторе Breakpoint Navigator и вправо /ctrl нажмите кнопку "Исключительная точка останова", чтобы отредактировать его: enter image description here

Затем установите флажок "Параметры": enter image description here

Ответ 3

Исключения в коде С++ распространены и нормальны. Исключительная точка останова ловит каждое поднятое исключение, даже если они обрабатываются правильно. Поэтому, если вы не укажете Obj-C, вы заметите, что выполнение останавливается во многих, казалось бы, случайных местах. Я сталкиваюсь с этим все время с помощью AVAudioPlayer.

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

Xcode выдает исключение в Main() в iOS 8 с точкой останова всех исключений