Отладчик останавливается на несуществующей точке останова в xCode 4 - PullRequest
11 голосов
/ 15 марта 2011

После обновления до xCode 4 мое приложение останавливается на том, что я считаю несуществующими точками останова. Когда он прерывается, нет никакой точки останова, и редактор говорит: «Тема: 1 Остановлена ​​в точке останова 17». Если смотреть в навигаторе точек останова, то нигде точки останова 17 нет, и строка, на которой она останавливается, нигде не указана.

Кто-нибудь еще видел это? Может быть, это что-то новое?

John

Ответы [ 9 ]

25 голосов
/ 23 февраля 2013

Может быть, это ошибка XCode, но все еще есть решение.

Вы можете использовать LLDB для просмотра и управления всеми фактическими точками останова.

просто введите команду в окне lldb.

(lldb) is the prompt.

(lldb) help    -> for help
(lldb) help breakpoint   -> for breakpoint subcommand's help
(lldb) breakpoint list    -> list all the breakpoints.
(lldb) breakpoint delete  -> Delete the specified breakpoint(s).  If no breakpoints are
               specified, delete them all.
(lldb) breakpoint delete 7.1   -> delete breanpoint 7.1

and, you can use this command to continue the program:
(lldb) c
4 голосов
/ 27 мая 2011

Пользователь user278859 в основном действительно верный ответ, так как это похоже на ошибку в Xcode 4. У меня просто была такая же проблема. Я установил точку останова в одном месте в методе UIWebView delegate shoudlStartLoadWithRequest (других активных точек останова в проекте нет), и отладчик останавливается в другом методе (в данном случае многократно webViewDidFinishLoad:) того же объекта.

Так что я бы сказал, что это ошибка XCode. Не нашел способа исправить это, кроме удаления вышеуказанной точки останова ... Скриншот:

enter image description here

4 голосов
/ 15 марта 2011

проверьте точку останова, сделайте следующее.

нажмите команду + Alt + B , чтобы увидеть все точки останова.

выберите точку останова, которую вы хотите удалить, и нажмите delete .

3 голосов
/ 15 марта 2011

Хорошо, я удалил единственную точку останова в классе-нарушителе, которого не было рядом со строкой, где отладчик ломался, и проблема исчезла.

Fasttracks, спасибо за предложение.Я использую xCode 4 и команда + alt + b больше не работает.Теперь есть Навигатор точек останова, в котором перечислены все точки прерывания.В списке не было точки останова, соответствующей линии, в которой происходил разрыв.

2 голосов
/ 12 июля 2011

У меня раньше была та же проблема, я думаю, это ошибка Xcode. Вы можете проверить, есть ли нежелательные точки останова, созданные XCode в Breakpoint Navigator (cmd 6), удалить их, и все должно быть в порядке.

0 голосов
/ 30 мая 2018

Не зная, что именно Точка останова ошибки Swift ... Я включил ее, выполнив следующее:

enter image description here

Угадайчто просходит?!

Он будет действовать как точка останова на ошибках, выданных вашим собственным кодом, т. Е. Везде, где вы используете оператор throw.

Подробнее см. здесь и здесь

0 голосов
/ 13 августа 2014

Я обнаружил еще один случай, когда такая точка останова активирована:

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

Так что вы должны быть уверены, что код, в котором установлена ​​точка останова, скомпилирован :-)

0 голосов
/ 07 декабря 2012

Откройте представление точек останова: alt + shift + 5, затем щелкните правой кнопкой мыши в пустом месте и нажмите «удалить все».Это фактически удалит несуществующие точки останова.

0 голосов
/ 17 мая 2011

Xcode 4 представил точку останова исключения, которая, по-видимому, включена по умолчанию. то есть когда есть исключение, оно ломается.

Это поймает исключение, даже если вы не нажали кнопку Точки останова.

Вы можете проверить с помощью Debug Navigator, запущен ли он - вы увидите «objc_exception_throw».

...