gpt4 book ai didi

objective-c - 使用LLDB进行IOS调试类成员变量NSArray

转载 作者:行者123 更新时间:2023-11-29 04:41:43 25 4
gpt4 key购买 nike

有谁知道如何获取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

最佳答案

  • 确保在进行测试之前实际评估该代码行。

很明显,__cellDataShadowArray2D 指向已编译常量字符串的空实例; @“”。这意味着它不能是过度释放或类似的情况;这意味着分配尚未发生(或者您正在尝试调试优化的代码,并且调试器由于优化而感到困惑)。

  • 非对象类型的 po 没有意义

  • retainCount 没有用。不要调用它。

关于objective-c - 使用LLDB进行IOS调试类成员变量NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10290082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com