【问题标题】:What changed in xcode7 debugger that I can no longer view variables with "po" / Swiftxcode7 调试器中发生了什么变化,我无法再使用“po”/Swift 查看变量
【发布时间】:2015-10-19 13:30:20
【问题描述】:

好的,xCode7 / Swift 中发生了什么变化,我不能再使用“po frame”来查看 CGRect 的内容?打印语句在代码中工作得很好。为什么我不能像以前那样在调试器控制台中查看?

var frame = self.myLabel.frame

frame.origin.x = self.startingFrame.origin.x + translation.x
frame.origin.y = self.startingFrame.origin.y + translation.y

print(frame)

self.myLabel.frame = frame

如果我打破 self.myLabel.frame = frame 语句并在调试器中使用 po(或 p 或 print),我会在调试器中得到:

(164.0, 323.0, 41.6666666666667, 20.3333333333333)
(lldb) po frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) p frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) print frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) 

【问题讨论】:

  • 你在问“为什么”,这个问题只有苹果才能回答:bugreporter
  • 嘿@zaph,我问是因为我想也许我在调试器中遗漏了一些我在 Apple Docs 中找不到的非常基本的东西
  • 使用 XCcode 7 失败示例询问如何处理可能会更成功。

标签: xcode debugging variables swift2 lldb


【解决方案1】:

这是 Xcode 7.1 中的一个错误。它在当前的 7.2 beta 中已修复,并将在最终版本中修复。错误是从 C/ObjC 模块导入 Swift 的 Struct 的类型对调试器不可用(反过来,它不会报告类型不可用的变量。)

【讨论】:

    【解决方案2】:

    我仍然在 Xcode 7.2 中看到这一点(使用 ObjC)。让调试布局代码变得非常令人沮丧。

    调试器不会将框架显示为视图的 ivar,并且类型摘要不会打印它。 你必须'po foo.frame'才能看到它。

    【讨论】:

      猜你喜欢
      • 2016-01-17
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 2013-08-17
      • 2020-04-19
      • 1970-01-01
      相关资源
      最近更新 更多