我在XCode 4中有一个带有ARC项目的Objective-C。我有一个自定义基类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
并表现得好像没有错。
答案 0 :(得分:1)
我认为这是XCode / gdb本身的一个错误。发生在我身上好几次了。只需验证您是在Debug中进行编译而不是在发布模式下进行编译。
这可能会有所帮助:Bug in XCode debugger?