当调用LLDB中的Objective-C代码时,我经常使用其地址创建引用内存中对象的变量.例如:
(lldb) po self.view <UIView: 0x7ff5f7a18430; frame = (0 64; 320 504); autoresize = W+H; layer = <CALayer: 0x7ff5f7a192e0>> (lldb) e CALayer* $layer = (CALayer*) 0x7ff5f7a192e0 (lldb) e $layer.borderWidth (CGFloat) $17 = 0
只要一个对象的类型及其在内存中的地址,我就可以检查和操作它了.
调试Swift代码时这是不可能的吗?
解决方法
(lldb) e let $layer = unsafeBitCast(0x7fd120f474b0,CALayer.self)