如何在使用LLDB的Swift应用程序中绘制变量的值?
早些时候它像po variable_name
现在我通常得到一些讨厌的错误,如:
(lldb) po a error: <EXPR>:11:5: error: use of unresolved identifier '$__lldb_injected_self' $__lldb_injected_self.$__lldb_wrapped_expr_2( ^
这个错误听起来像是可能是因为DWARF不告诉LLDB在哪里找到你的“自我”对象。鉴于Swift的本质,LLDB需要知道自我的类型,以便能够在本地作用域内插入一个表达式
找到这是你的问题的一种方法是在LLDB提示符处:
找到这是你的问题的一种方法是在LLDB提示符处:
(lldb)帧变量-L self
你可能不会看到它的位置。值得提交的错误报告,只是为了跟踪你的具体繁殖情况
无论如何,要得到你的问题的大部分。在Swift中,没有像ObjC这样的“打印描述”的语言制裁机制,所以虽然你可以键入“po self”,除非self是一个Objective-C类型,你几乎看到同样的事情, “甚至”帧变量自我“会告诉你 – 这完全基于LLDB数据格式化机制。如果你想钩住自定义Swift对象的外观,强制引用是:http://lldb.llvm.org/varformats.html