1

调试时,我需要检查私有NSString成员的值,例如名为 str 的值。后:

    self.str = xxxxxxx;

我在控制台中输入了“po self.str”,但只得到了“(NSString *)$ 37 = 0x00000000”
所以我尝试了:

    NSLog("%@", self.str);

…然后我看到了字符串值。

为什么我不能使用命令“po”检查 var 的值?

现在我知道这是因为我使用lldb作为调试器,而不是gdb。所以“po”(打印对象)命令只能显示指针的地址。在使用 lldb 时是否有任何关于打印对象描述的解决方案?

更新:我发现self自己不可用。我猜这个问题与类实例有关,它是一个静态变量。是因为po找不到指针的原因self吗?

4

1 回答 1

1

您需要像没有点符号的方法一样调用它

po [self str]

或者,如果您知道支持变量名称,则可以直接打印它

po _str
于 2012-05-23T08:46:32.907 回答