Swift对象的{LLDB类型摘要

时间:2017-06-28 20:19:12

标签: swift debugging lldb

LLDB有一个名为类型摘要的有趣功能,它允许在调试器中更改某种类型的表示。

以下是文档:https://lldb.llvm.org/varformats.html。它没有提到Swift,但根据WWDC 2014 Session 410(LLDB中的高级Swift调试,slides),它也适用于Swift对象。

例如,对于类型Foo

struct Foo {
  let x: Int
}

LLDB命令应该如下:

(lldb) type summary add -s "This is Foo ${var.x}" TheModuleName.Foo

但是,此命令似乎不起作用。对于let foo = Foo(x: 42, y: 3.14)。我在调试器中得到以下结果:

(lldb) frame variable foo
(TheModuleName.Foo) foo = This is Foo error: summary string parsing error

(lldb) po foo
▿ Foo
  - x : 42

所以po完全没有受到影响,frame variable抱怨无法解析摘要字符串。

我错过了什么吗?这个功能是否适用于Swift对象?

如果这是相关的,我使用Swift 3.1版与Xcode 8.3.3(目前最新的稳定版本)。

0 个答案:

没有答案