如何从gdb调用NSObject“类”方法?

时间:2012-08-30 20:52:20

标签: objective-c xcode macos debugging gdb

我正在使用gdb 6.3.50,这是Xcode 4.4.1附带的。我试图在调试器中调用对象class时似乎感到困惑。

(gdb) po [JSONObject class]
A syntax error in expression, near `]'.

我认为它会被“class”这个词绊倒,它必须是某种保留符号,也许是因为我在使用Objective-C ++。当然,如果我尝试使用其他一些C关键字,我可以用相同的措辞将其推入错误中:

(gdb) po [JSONObject struct]
A syntax error in expression, near `]'.

对象本身没有任何问题,因为gdb可以在其上调用其他方法:

(gdb) po [JSONObject objectForKey:@"UTIMESTAMP"]
<__NSCFArray 0x89c9b0>( ...(etc.>)

是否有一些构造,符号或其他内容可以放在命令行中,以强制gdb将“class”视为一个选择器?

1 个答案:

答案 0 :(得分:1)

直接尝试使用Objective-C messenger函数:

po (id)objc_msgSend(JSONObject, @selector(class))