有谁知道如何在IOS中获取类成员变量的值?
我尝试使用LLDB在类成员变量中调试NSArray。
我跑完后
__cellDataShadowArray2D = [[NSArray alloc] initWithObjects:[NSArray arrayWithObjects:obj1, obj2, nil], nil];
当我使用LLDB(打印对象)检查值时,我总是得到它。
(lldb) po __cellDataShadowArray2D
(NSArray *) $66 = 0x001e8894 <object returned empty description>
(lldb) p __cellDataShadowArray2D
(NSArray *) $67 = 0x001e8894
(lldb) po [__cellDataShadowArray2D count]
2012-04-24 10:10:38.535 SOME [61985:15803] -[__NSCFConstantString count]: unrecognized selector sent to instance 0x1e8894
(id) $68 = 0x00000000 <nil>
(lldb) po [__cellDataShadowArray2D retainCount]
(id) $69 = 0xffffffff [no Objective-C description available]
(lldb) p (int) [__cellDataShadowArray2D retainCount]
(int) $70 = -1
(lldb) p (int) [__cellDataShadowArray2D count]
2012-04-24 10:11:31.333 SOME [61985:15803] -[__NSCFConstantString count]: unrecognized selector sent to instance 0x1e8894
(int) $71 = 0
答案 0 :(得分:1)
很明显__cellDataShadowArray2D指向编译常量字符串的空实例; @ “”。这意味着它不能过度释放或类似的东西;这意味着尚未发生分配(或者您正在尝试调试优化代码,并且调试器因优化而混淆)。
po非对象类型没有意义
retainCount
没用。不要打电话。
答案 1 :(得分:0)
答案 2 :(得分:0)
这绝对是一个LLDB问题。我有同样的,根本无法调试。我切换回GDB,没关系