Objective c 如何将NSObject称为;“类”;来自gdb的方法?

Objective c 如何将NSObject称为;“类”;来自gdb的方法?,objective-c,xcode,macos,debugging,gdb,Objective C,Xcode,Macos,Debugging,Gdb,我使用的是GDB6.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

我使用的是GDB6.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)po[JSONObject objectForKey:@“UTIMESTAMP”]
(……(等>)

我是否可以在命令行中添加一些构造、符号或其他内容,以强制gdb将“类”视为选择器?

直接使用Objective-C messenger函数:

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

尝试了
po(id)objc\u msgSend(objc\u getMetaClass(“JSONObject”),@selector(class))
JSONObject
是一个值而不是一个类(例如,
-[NSURLRequest HTTPBody]
),但类似于
objc\u msgSend(JSONObject,@selector(class))
确实有效。这样命名对象是不好的做法,caps是用于类的。它应该是jsonObject。这是我复制它的地方。但我承认它们并没有真正告诉你如何处理变量。。。