LLDB中的po与swift

如何在使用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)帧变量-L self

你可能不会看到它的位置。值得提交的错误报告,只是为了跟踪你的具体繁殖情况

无论如何,要得到你的问题的大部分。在Swift中,没有像ObjC这样的“打印描述”的语言制裁机制,所以虽然你可以键入“po self”,除非self是一个Objective-C类型,你几乎看到同样的事情, “甚至”帧变量自我“会告诉你 – 这完全基于LLDB数据格式化机制。如果你想钩住自定义Swift对象的外观,强制引用是:http://lldb.llvm.org/varformats.html

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...