Отладка xcode 4 показывает «Сводка недоступна» для большинства объектов - PullRequest
31 голосов
/ 14 марта 2011

Пока я использую Xcode 4.0 и пытаюсь отладить и посмотреть, какое значение содержится в какой переменной - или посмотреть, какие объекты находятся в массиве и т. Д., Я всегда получаю «Summary Unavailable» или «Invalid Summary».

Эта проблема очень похожа на проблему в 3.2.6, если вы собрали и запустили релизную версию с убранными символами.

Любой шанс, что кто-нибудь знает, где я иду не так, или каково разрешение В течение многих лет все работало гладко - потом Apple вмешалась - снова.

Спасибо

Ответы [ 7 ]

13 голосов
/ 14 марта 2011

Вы не ошибетесь, Xcode 4 - это. Эта проблема довольно распространена, к сожалению. Сообщите об этом на http://bugreport.apple.com/ и надейтесь на лучшее.

Тем временем вы можете проверять переменные, используя консоль, которая появляется в нижней части окна Xcode 4 во время отладки. Если у вас есть объект «myObj», вы можете проверить его в консоли, набрав «po myObj». Это намного менее удобно, но лучше, чем вообще не получать информацию.

5 голосов
/ 17 апреля 2011

Вы также можете попробовать изменить «Сводный формат» в окне GDB.Попробуйте что-то вроде {(NSString *) [$ VAR description]}: s в качестве формата Summary - это работает для производных объектов NSManagedObject.

2 голосов
/ 23 июня 2011

Запустите ваше приложение в режиме отладки

В XCODE 4.02 перейдите в Product / Debug / Shared Libraries

В появившемся окне указывается, какие динамические библиотеки загружены

Прокрутите вниз, пока не увидите "libXcodeDebuggerSupport.dylib Нажмите кнопку «Загрузить», а затем «Готово»

После остановки на точке останова содержимое строки должно быть напечатано синим цветом после адреса объекта.

Надеюсь, это поможет!

2 голосов
/ 17 марта 2011

В ожидании Apple исправления Xcode 4 вы можете попробовать использовать «Print Description», которое выводит значение в консоль.

0 голосов
/ 21 ноября 2012

Я уже давно боролся с этой проблемой, и я наконец выяснил проблему.У меня есть несколько конфигураций сборки в моем приложении (Debug, Release, UAT).Когда я нажимаю «Выполнить» в моей основной схеме, я использую конфигурацию «UAT», а не «Отладка».Я понял, что убираю символы отладки для моих конфигураций «UAT» и «Release».Я просто изменил свои настройки сборки, чтобы не удалять символы отладки для конфигурации сборки «UAT», и вуаля, все мои символы снова доступны., но уже давно видел эту проблему в различных проектах.Я предполагаю, что большинство моих проектов используют конфигурацию сборки Debug по умолчанию и поэтому работают нормально.Только когда я начал увлекаться своими схемами и конфигурациями сборки, я столкнулся с этой проблемой.

0 голосов
/ 15 апреля 2012

У меня была эта проблема. Если вы явно объявите ivars в своем h-файле, они должны отображаться в отладчике, как и ожидалось.

@synthesize создаст для вас подходящие ivers, но это не всегда делает их доступными в отладчике, если вы используете командную строку po для их просмотра.

0 голосов
/ 21 марта 2012

Это случилось со мной при обновлении до xCode 4.3.1.

Я обнаружил, что редактирование схемы Run / Debug и изменение настройки отладчика на вкладке Info с LLDB на GDB устранили проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...