一尘不染

LLDB(快速):将原始地址转换为可用类型

swift

是否有LLDB命令可以将原始地址转换为可用的Swift类?

例如:

(lldb) po 0x7df67c50 as MKPinAnnotationView

我知道此地址指向MKPinAnnotationView,但它不在我可以选择的框架中。但是,我想将原始地址转换为MKPinAnnotationView,以便可以检查其属性。这可能吗?


阅读 605

收藏
2020-07-07

共1个答案

一尘不染

在Xcode 8.2.1和Swift 3下,lldb命令 po p 不适用于类型变量。您将需要使用swift命令 print检查输入的对象实例的属性。例如:

expr -l Swift -- import UIKit
expr -l Swift -- let $pin = unsafeBitCast(0x7df67c50, to: MKPinAnnotationView.self)
expr -l Swift -- print($pin.alpha)
2020-07-07