Как вы смотрите или оцениваете выражение в xcode, например, прямое окно визуальной студии?
В MS visual studio мы просто щелкаем правой кнопкой мыши и добавляем часы.
Как это сделать в Xcode?
Ответы
Ответ 1
Используйте команду po
в области отладки
Настроить точку останова в соответствующей области кода, а затем, когда программа остановится в точке останова, введите команды в консоли в области отладки.
Соответствующая команда po
(объект печати), за которой следует выражение, которое вы хотите оценить.
Если окно "Отладка" не отображается в XCode, вы можете показать его в верхнем меню:
'View' -> 'Debug Area' -> 'Activate Console'
(XCode v8.x)
Пример
Чтобы оценить выражение типа var1/var2
, где var1
и var2
оба являются двойными, введите в консоли следующее:
po var1/var2
Консоль вернет что-то вроде:
(double) $2 = 3.085 [no Objective-C description available]
Отображение свойств объекта
Вы также можете вернуть определенное свойство объекта, используемого в настоящее время в коде в этой точке останова:
po [bankInfo city]
И он вернет что-то вроде:
(id) $4 = 0x000069e8 Testville
Обратите внимание, что консоль не похожа на точечную нотацию и предпочитает квадратные скобки, когда это применимо. Например, это возвращает ошибку для меня:
po bankInfo.city
Надеюсь, это то, что вы искали.
Ответ 2
Ответ Gabe почти отсутствует, но отсутствует одна важная деталь: выберите Выход отладчика. По умолчанию нижняя опция установлена на Target Output, поэтому команда po
ничего не показывает.
Вот сэндвич-приложение из учебника, которое я отлаживаю:
![eval expression screenshot in xcode]()
Будучи новичком xcode и исходящим из MS Visual Studio Background, я хотел точно, что ищет OP. Во время игры с ответом Гейба я выбрал Debugger Output
и получил то, что хотел.
Ответ 3
Мои пожилые люди сказали использовать NSLog (@variable)..........
Ответ 4
Как я понимаю, вы хотели бы видеть, когда меняется переменная. Для этого сделайте точку останова и щелкните по ней правой кнопкой мыши и выберите Edit Breakpoint
. Появится окно:
![enter image description here]()
Убедитесь, что вы выбрали правильное действие, например Debugger Command
или Log Message
, и отметьте галочкой в параметрах Automatically continue after evaluating
. Таким образом, вы получаете какое-то действие (например, журналирование, звук и т.д.) И не останавливаетесь в точке останова.
Ответ 5
Если вы хотите узнать, когда изменяется переменная, используйте "watch":
- Установите точку останова где-нибудь в соответствующем классе;
- Запустите приложение в отладчике и оставьте его в точке останова; и
- Перейдите к представлению "Переменные" в левой части нижней панели "Отладка" и щелкните правой кнопкой мыши на соответствующем объекте и выберите "Смотреть".
Например, здесь я остановился в точке останова в viewDidLoad
и добавил "смотреть" для total
:
![Смотреть]()
(Это Swift, но то же самое верно и для Objective-C.)
Теперь, если я продолжу выполнение (
), Xcode будет приостанавливаться всякий раз, когда это свойство изменится, и я могу видеть, в какой строке кода total
меняется, трассировка стека, чтобы добраться до этой точки и т.д.
Ответ 6
Установите некоторые точки останова в начале цикла и функций. После того, как вы нажмете на кнопку точки останова (аналогично стрелке) в окне редактора, инструмент "Создание и отладка" будет включен. Затем вы можете перейти к отладчику, щелкнув значок отладчика. справа от окна отладчика будут видны переменные, которые будут видны, выберите self- > , затем переменная экземпляра ur будет устанавливать точку наблюдения. Нажмите на нее и выберите "watch variable". Будет установлена триггерная точка, и вы будете уведомлены с помощью значение переменной при изменении.