Xcode debugger (lldb) get object description from memory address

喜你入骨 提交于 2019-12-18 07:12:54

问题


Little-known fact: It is now possible, in Xcode, while paused in the debugger, to introspect the notification center to learn what objects are registered to receive what notifications:

(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. ...

Very nice, but how do I get from the memory address 0x7fc795700140 to learning what object that is?

EDIT I'm leaving this question here, but I think the correct answer is the kind of thing shown at LLDB (Swift): Casting Raw Address into Usable Type


回答1:


po works for addresses (In Objective-C/Mac context, at least)

e.g.:

(lldb) po [NSNotificationCenter defaultCenter]

NSWindowDidResizeNotification, 0x7fff9a0e98e0, 0x6100001246a0, 1400

(lldb) po 0x6100001246a0

ExpandOneView: 0x6100001246a0




回答2:


The Swift equivalent of Phillip's answer is:

(lldb) expr -l objc -O -- 0x7fc795700140
<UIApplication: 0x7fc795700140>


来源:https://stackoverflow.com/questions/45463132/xcode-debugger-lldb-get-object-description-from-memory-address

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!