Xcode调试器(lldb)从内存地址获取对象描述

问题描述 投票:1回答:2

鲜为人知的事实:现在可以在Xcode中,在调试器中暂停时,内省通知中心,了解注册了哪些对象以接收通知:

(lldb) po NotificationCenter.default

<NSNotificationCenter:0x6040000d40b0>
Name, Object, Observer, Options
com.apple.accessibility.reduce.motion.status, 0x10b126190, 0x7fc795700140, 1001
com.apple.accessibility.asst.scanner.status, 0x10b126190, 0x7fc795700140, 1001
// ... etc. ...

非常好,但是如何从内存地址0x7fc795700140到学习什么对象呢?

编辑我在这里留下这个问题,但我认为正确答案是在LLDB (Swift): Casting Raw Address into Usable Type上显示的那种东西

xcode nsnotificationcenter lldb
2个回答
2
投票

po适用于地址(至少在Objective-C / Mac环境中)

e.f.:

(lldb)po [NSNotificationCenter defaultCenter]

NSWindowDidResizeNotification,0x7fff9a0e98e0,0x6100001246a0,1400

(ldb)在0x6100001246a0上

ExpandOneView:0x6100001246a0


6
投票

Swill相当于Phillip的答案是:

(lldb) expr -l objc -O -- 0x7fc795700140
<UIApplication: 0x7fc795700140>
© www.soinside.com 2019 - 2024. All rights reserved.