当我使用调试模式时,如何在GDB中打印对象的成员

时间:2011-10-11 17:45:39

标签: iphone objective-c ios

在A.h

@interface A {
    NSString *str;
}

在B.h

@interface B {
    A *a;
}

我在B的函数中设置断点。

我想在GDB中打印a的str。

我该怎么做。

“po a.str”无效。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用po a->str。请注意这个(直接访问变量)和po [a str]之间的区别,后者调用您可能已经或可能没有实现的方法-str来返回str

答案 1 :(得分:0)

如果你有一个名为[a str]的getter方法,或者str @synthesize,你可以NSString *str

答案 2 :(得分:0)

尝试     po [a str] 要么     po [[b a] str]