0

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

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

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

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

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

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

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

4

1 回答 1

1

尝试直接使用 Objective-C 信使功能:

po (id)objc_msgSend(JSONObject, @selector(class))
于 2012-08-30T21:22:45.637 回答