В XCode 6 как вы можете установить точку наблюдения, не останавливая выполнение?
Вы можете легко установить точку наблюдения в XCode, выполнив следующие действия (кстати, если есть более простой способ, я хотел бы узнать это...):
- Запустите вашу программу
- Установите точку останова в коде, где используется ваша переменная
- при достижении точки останова используйте правую кнопку мыши на переменной и выберите "Watch "nameOfTheVariable"".
- продолжить исполнение.
Единственная проблема заключается в том, что выполнение останавливается каждый раз, когда изменяется значение переменной. Я бы хотел, чтобы XCode продолжал выполнение без остановки, т.е. просто отображал изменения значений в выводе консоли.
Эта функция кажется доступной в режиме командной строки, и хотя я изначально хотел ее избежать, я опубликовал решение с использованием этого режима (см. Ниже), так как это единственный способ сделать то, что я хочу, т.е. продолжить выполнение при отображении переменной изменения.
3 ответа
Похоже, что единственный способ добиться этого - использовать командную строку LLDB. Так что для тех из вас, кто, как и я, никогда не использовал его здесь, это пошаговый (на самом деле довольно простой) способ его использования и просмотра переменных без остановки выполнения:
- Установите точку останова в Xcode (щелкните слева от исходной строки), где используется переменная, которую вы хотите наблюдать (в области видимости), и выполняйте свой код, пока он не достигнет точки останова.
- В представлении консоли (маленькое окно внизу справа, где вы можете отображать консольные объекты) вы должны увидеть приглашение (lldb). Здесь вы вводите следующие команды:
w s v stuff
(или жеwatchpoint set variable stuff
) где вещи это имя переменной, которую вы хотите посмотретьw c a
(или жеwatchpoint command add
), чтобы войти в режим сценария, где вы вводите одну команду в строке, как показано после '>'p stuff
(или жеprint stuff
) отобразить новое значение переменной вещиc
(или жеcontinue
) продолжить исполнениеDONE
чтобы закончить этот маленький сценарий (обратите внимание на символы верхнего регистра!)
ВОТ И ВСЕ! Вы можете удалить свою точку останова и продолжить выполнение. С этого момента сообщения будут отображаться в консоли каждый раз, когда переменная "stuff" обновляется, не останавливая выполнение вашего кода (это, конечно, может немного замедлить его, но обычно это не важно).
Легко, установите точку останова правой кнопкой мыши и измените ее. Существует множество опций с именем "автоматически продолжить после оценки действий".
Точка наблюдения похожа на точку останова, которая срабатывает при обновлении значения переменной, за которой следят. Чтобы установить его, выполните следующие действия:
1. Установите точку останова так, чтобы представление переменных в отладчике показывало переменную, которую вы хотите наблюдать. 2. Нажмите правой кнопкой мыши на переменную и выберите Watch "имя переменной". 3.Это остановит выполнение при каждом изменении значения переменной.
Теперь точка наблюдения начнет отображаться в отладочном навигаторе. Для того, чтобы удалить его, просто перетащите его в сторону редактора, и все готово.
PS: это всего лишь более разумная версия didset реализации для переменной и установки и точки останова внутри нее.