Странное сообщение об ошибке в Xcode 4.3 с LLDB

Сейчас я пишу приложение для iOS с Xcode 4.3.2. В большинстве частей моего кода отладка с помощью LLDB работает просто отлично. Однако в какой-то момент я получаю странное сообщение при выполнении моего кода. Когда я наводил курсор на iVar, он говорит

Ошибка [IRForTarget]: не удалось найти косвенный символ ivar Objective-C OBJC_IVAR_$_MyFancyClass.iVar

вместо того, чтобы показывать мне значение. Однако в окне Variables Viewя все прекрасно вижу. Пока я не выберу Print Description of... , то есть, потому что тогда Xcode дает сбой... Когда я использую GDB, зависание работает, но тип и значения переменной неверны.

Я считаю, что с моим кодом что-то не так, что, в свою очередь, приводит к сбою отладчиков. Тем не менее, код работает нормально. Я бы хотел предоставить пример кода, но класс довольно длинный, и я не могу точно определить, где моя ошибка. Так кто-нибудь сталкивался с подобным поведением?

ОБНОВЛЕНИЕ:На самом деле, кажется, что это происходит везде в моем коде, а не только в некоторых конкретных файлах. Если это поможет, в то время как LLDB показывает вышеуказанное сообщение, GDB всегда показывает объект класса, которому принадлежит iVar, вместо самого iVar. Похоже, что-то не так с управлением памятью.Например, если я скажу что-то вроде

[notificationCenter addObserver:self selector:@selector(foo) name:bar object:objA];

, селектор вызывается, даже если у меня есть

[notificationCenter postNotificationName:bar object:objB];
6
задан Phlibbo 6 April 2012 в 19:23
поделиться