如何在带有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(     
    ^

推荐答案

这个错误听起来可能是因为Drawer没有告诉LLDB在哪里找到你的self个对象.鉴于Swift的性质,LLDB需要知道self的类型,以便能够在本地范围内注入表达式.

(lldb) frame variable -L self

你可能看不到它的位置.值得填写一份缺陷报告,只是为了追踪你的repro个具体 case .

不管怎样,我想谈谈你的大部分问题.在Swift中,没有像ObjC那样的语言认可的"打印描述"机制,因此,尽管您可以键入po self,除非self是Objective-C类型,否则您将看到与"p self"甚至"帧变量self"所告诉您的几乎相同的事情——这完全基于LLDB数据格式化程序机制.如果你想用它来定制你的Swift对象的外观,必须参考:http://lldb.llvm.org/varformats.html

Swift相关问答推荐

WWDC Swift并发会话中的厨房服务示例令人困惑

如何使用swift宏生成一个带有关联值的枚举?

SwiftData/PersistentModel.swft:540:致命错误:不支持的关系密钥路径ReferenceWritableKeyPath

如何绑定环境变量ios17

ClosedRange.Swift 中 Int 的索引?

BLE 在 ESP32 和 Iphone 之间发送字符串

为什么我的 tableView 没有推送到 tableView 内的 detailViewController?

如何在不将变量转换为字符串的情况下判断变量在 Swift 中是否为 Optional(nil)?

关于变量的视图的 SwiftUI 生命周期

如何更新 UserDefault 中的特定值

如何在 SwiftUI 中用图像替换占位符文本?

Swift 全局函数列表

类型 '()' 不能符合 View (除非它肯定是 View,这次没有恶作剧)

如何在 SwiftUI 中正确实现Collection 夹?

不要从 NumberFormatter 获取货币符号

不支持用作符合协议 AnyObject 的具体类型

如何轻松删除领域中的所有对象

强制打开已在同一行代码中 Select 性访问的变量是否安全?

iOS 视图可见性消失了

在 xcode8 中找不到 ModuleName-Swift.h 文件