Xcode4.1中LLDB相当于GDB的“po”命令是什么?

6

GDB中有一个名为po的命令,用于打印Objective-C对象的详细信息(包括其描述)。 在LLDB中,po仅打印内存地址。我该如何在LLDB中看到类似GDB的输出?


3
考虑删除这个问题,因为LLDB确实有"po"命令。 - Vincent Gable
1
@VincentGable 不行。因为我们使用SCM的同样原因。 - eonil
4个回答

13

现在已经实现了。为完整起见,它是这个命令的别名:

expression -o  --

要获取有关此命令和其他LLDB命令的帮助,请使用命令帮助:

help expression

这正是我从文档中所想到的。然而,每当我尝试时,都会得到以下输出: 错误:实例方法'userData'在不同的翻译单元中具有不兼容的结果类型('void *'与'id') 注意:实例方法'userData'也在此处声明 注意:在此处声明为'type 'id'' 错误:1个错误解析表达式。 - Chris Garrett
在我看来,这更像是代码中的错误,而不是LLDB的问题。 - Victor Jalencas

4
这里有一些实用的 GDB 到 LLDB 命令对应关系,请参考LLDB官方文档

3

还没有的内容:回归测试套件 操作系统支持尚未完全模块化 块支持 在表达式中调用函数 Objective-C 2.0支持:打印属性、合成属性、Objective-C表达式、KVO、动态类型、点语法、运行时数据 C++支持:方法访问、处理解缠后的名称、动态类型 异常支持:按名称、抛出对象、抛出者中断 - Edward Ashak

1

不知道lldb,但可能是类似这样的东西:

print _NSPrintForDebugger(obj)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接