首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode调试器(lldb)从内存地址获取对象描述

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

Stack Overflow用户
提问于 2017-08-02 14:04:03
回答 3查看 8.5K关注 0票数 13

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

代码语言:javascript
运行
复制
(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展示的那种东西

EN

Stack Overflow用户

发布于 2020-04-17 00:21:11

首先,我使用的LLDB命令。

代码语言:javascript
运行
复制
(lldb) expr -l objc -O -- 0x600001582d00

<__NSArrayI 0x600001582d00>(
<UIStoryboardShowSegueTemplate: 0x600002c3e4c0>,
<UIStoryboardPresentationSegueTemplate: 0x600001582210>,
<UIStoryboardPresentationSegueTemplate: 0x600001582620>,
<UIStoryboardShowSegueTemplate: 0x600002c3f4c0>,
<UIStoryboardPresentationSegueTemplate: 0x6000015839d0>,
<UIStoryboardShowSegueTemplate: 0x600002c3d680>,
<UIStoryboardEmbedSegueTemplate: 0x600002c3dc40>
)

对于Swift类的实例。

代码语言:javascript
运行
复制
expr -l swift -O -- 

对象-C类的实例。

代码语言:javascript
运行
复制
expr -l objc -O --

对于C类的实例。

代码语言:javascript
运行
复制
expr -l c -O --

现在解释一下。我有joy修复了1400个小狐猴的泄漏。iOS开发人员代码。在内存图形调试器中,我经常检查泄漏的对象,我所拥有的只是内存中对象的地址。这是在一个objects和Swift应用程序中,所以我们必须能够检查两种语言中的对象。在LLDB中,我必须在被检查的内存地址上指定变量的语言。这在Swift和Objective中有效。我上面提供的是针对Swift、Objective和C的示例输出和命令示例。

票数 8
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45463132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档