Xcode, нет символов отладки для определенного подкласса - PullRequest
7 голосов
/ 20 июня 2010

Я использую Xcode 3.2.3 и iPhone SDK

Итак, я пытаюсь отладить подкласс UIView, я достиг точки останова в переопределенном методе и не вижу никаких символов ни в графическом интерфейсе, ни в gdb, только глобальные переменные и регистры.

Вот что я вижу:

(gdb) po self
No symbol "self" in current context.

Тем не менее, когда я устанавливаю точку останова в подклассе UIViewController, все символы присутствуют:

(gdb) po self
<MyViewController: 0x5c18ae0>
Current language:  auto; currently objective-c

Некоторые вещи, которые я пробовал:

  • очистить все / восстановить
  • перезапустить Xcode
  • переключение между отладкой и выпуском
  • настроить эти параметры в Project настройки:
    • GCC_DEBUGGING_SYMBOLS = Все
    • Символы DEBUG_INFORMATION_FORMAT = DWARF, DWARF с файлом dSYM
    • BUILD_VARIANTS = нормальный, отладка
  • угроза Xcode ругань и набрав rm -rf /Developer в приглашение root bash

Пожалуйста, помогите, мои пальцы кровоточат от отладки с помощью NSLog

Ответы [ 6 ]

4 голосов
/ 26 июня 2010

Я часто сталкиваюсь с этой ошибкой.Мой обходной путь - ввод команды bt на консоли gdb, затем она автоматически сортирует себя и начинает распознавать символы в текущем контексте.

3 голосов
/ 21 июня 2010

Таким образом, изменение с Отладка на Релиз сделал свое дело, и у меня есть все мои символы отладки.

Я думаю, что это просто ошибка в 4.0 SDK.

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

в типе gdb bt .

Если вы видите self = везде, потому что xcode настроен на оптимизацию.

Перейдите в настройки сборки и введите оптимизация .

Если уровень оптимизации для отладки или выпуска установлен на Самый быстрый , который вызывает вашу проблему.

Релиз должен быть оставлен как можно быстрее, чтобы ваш код работал хорошо при сборке для распространения.Лучше изменить конфигурацию сборки в схеме.

opt + нажмите кнопку «Выполнить».Слева нажмите Run YourAppsName.app, затем Info и выберите debug .

.
0 голосов
/ 01 августа 2010

МТС метод работал на меня. Переход от отладки к выпуску исправляет эту проблему. Как странно. Я могу опровергнуть теорию эволюции программного обеспечения, так как испытываю ошибку в методе экземпляра.

0 голосов
/ 30 июля 2010

По мне, в не бета-версии. Я только заметил, что это происходит только при вызове метода, определенного классом, то есть (+) не (-)

Я бы не возражал, если бы не указатель "self", но он также уничтожает все локальные переменные в отладчике, и это просто неправильно.

0 голосов
/ 30 июня 2010

Хммм, попытался повторить это в 3.2.3 и SDK4 Final безуспешно - смог отладить подкласс UIView, как и ожидалось. Это происходит с использованием одного из бета-релизов?

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