Почему GDB показывает переменные экземпляра суперкласса ObjC как NULL? - PullRequest
1 голос
/ 13 декабря 2011

У меня есть Objective-C с проектом ARC в XCode 4. У меня есть собственный базовый класс MyBaseClass с несколькими свойствами __strong NSString * (например, superClassString), которые наследуются несколькими подклассами (т.е. MySubClass). Даже после немедленного предоставления объекта для одного из свойств:

instance = [[MySubClass alloc] init];
instance.superClassString = [NSString stringWithFormat:@"gdb victim"];

GDB по-прежнему сообщает значение указателя (instance.superClassString) как NULL. Он даже сообщит значение указателя как NULL, даже если я прервусь перед функцией, которая явно использует указатель:

NSLog(@"It really is there: %@", instance.superClassString);

Система правильно отображает текст:

  gdb victim

и действует так, как будто ничего не случилось.

1 Ответ

1 голос
/ 13 декабря 2011

Я думаю, что это ошибка в самом XCode / gdb. Случилось и со мной несколько раз. Просто убедитесь, что вы компилируете в Debug, а не в режиме релиза.

Это может помочь: Ошибка в отладчике XCode?

...