【问题标题】:LLDB equivalent of `po` in GDB in Xcode4.1?LLDB 相当于 Xcode4.1 中 GDB 中的“po”?
【发布时间】:2011-10-11 21:04:48
【问题描述】:

在 GDB 中有一个命令 po 可以打印 Objective-C 对象的详细信息。 (及其描述) 在 LLDB 中,po 只是打印内存地址。如何在 LLDB 中看到 GDB 的类似输出?

【问题讨论】:

  • 考虑删除这个问题,因为 LLDB 确实有 po
  • @VincentGable 否。因为我们使用 SCM 的原因相同。

标签: objective-c xcode debugging gdb lldb


【解决方案1】:

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

expression -o  --

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

help expression

【讨论】:

  • 这就是我从文档中想到的。但是,每当我尝试得到以下输出时:错误:实例方法“userData”在不同的翻译单元中具有不兼容的结果类型(“void *”与“id”)注意:实例方法“userData”也在此处声明注意:此处声明类型为 'id' 错误:解析表达式时出现 1 个错误
  • 在我看来,这更像是代码中的错误,而不是 LLDB 中的问题。
【解决方案2】:

这里有一些方便的GDB to LLDB command equivalents

【讨论】:

    【解决方案3】:

    目前似乎尚未实施。 http://lldb.llvm.org/status.html

    【讨论】:

    • 尚无:回归测试套件 操作系统支持尚未完全模块化 块支持 在表达式中调用函数 Objective-C 2.0 支持:打印属性、合成属性、Objective-C 表达式, KVO, 动态类型, 点语法, 运行时数据 C++ 支持: 方法访问, 处理 demangled 名称, 动态类型 异常支持: Breaking by name, throwed object, thrower
    【解决方案4】:

    不知道 lldb,但可能是这样的:

    print _NSPrintForDebugger(obj)
    

    【讨论】:

      猜你喜欢
      • 2012-08-25
      • 2012-11-01
      • 2017-01-08
      • 1970-01-01
      • 2012-04-02
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      相关资源
      最近更新 更多