Я очень запутался в Xcode 4. Наблюдение за простой переменной - это кошмар. Я не придумываю, как просто «посмотреть значение переменной». В Xcode 3 было проще ...
У меня есть следующий фрагмент кода:
if (labelEast.center.x > (east_oldPosition.x + 50) )
NSLog(@"Time to switch to previous exercise !");
else if (labelEast.center.x < (east_oldPosition.x - 50) )
NSLog(@"Time to switch to next exercise !");
После установки точки останова я просто пытаюсь посмотреть labelEast.center.x
(labelEast
- это UILabel
объект). Поскольку я не смог найти элемент часов в меню Xcode 4, я пытаюсь использовать gdb. Я привык печатать значения переменных / объектов с помощью po
(печать объекта). Но теперь я не могу отобразить свойство labelEast
center
, поскольку оно унаследовано от родительского класса.
(gdb) po labelEast.center
Нет члена с именем center.
Я не понимаю, почему GDB говорит это, тогда как код работает нормально и видит свойство.
Таким образом, у меня есть 2 вопроса:
- Как просмотреть такое свойство без GDB в графическом виде (так же просто, как в Visual Studio)?
- Как сделать то же самое с GDB?
Большое спасибо,
Franz
К сожалению, я пробовал это, но получил это:
po [labelSouth center]
Программа получила сигнал EXC_BAD_ACCESS, Не удалось получить доступ к памяти.
Причина: KERN_INVALID_ADDRESS по адресу: 0x1a000356 0x343c7d06 in
objc_msgSend_stret () Отлаживаемая программа сигнализировала, пока
функция вызывается из GDB. ГБД остается в кадре, где сигнал
был получен. Чтобы изменить это поведение, используйте «set unwindonsignal on»
Оценка выражения, содержащего функцию (objc_msgSend)
будут заброшены.
И когда я пытаюсь:
(gdb) печать этикеткиSouth.center
Нет члена с именем center.
Я действительно подозреваю, что в UILabel
нет доступа к собственности центра. Но как мне выполнить код ???