我正在使用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”视为一个选择器?
答案 0 :(得分:1)
直接尝试使用Objective-C messenger函数:
po (id)objc_msgSend(JSONObject, @selector(class))