LLDB 的数组地址

Posted

技术标签:

【中文标题】LLDB 的数组地址【英文标题】:Address of Array with LLDB 【发布时间】:2018-05-10 21:09:25 【问题描述】:

如何在 lldb 中打印内存中数组的地址? 我尝试将命令“e”与我的数组名称一起使用,但它为我提供了数组的内容和其中每个元素的地址。 我正在使用 xcode9.2。

如果我在数组上设置断点

LLDB 上的数组是这样的

它没有给我地址。

当键入命令“e”时,它看起来像这样

【问题讨论】:

在第二张图片中:突出显示的数组和变量列表中显示内存地址的第一个数组有什么区别? 【参考方案1】:

在数组上设置断点后,如果查看变量视图(lldb 控制台左侧的窗格),它会显示变量的内存地址。

编辑:上面实际上是在初始化之前。当我使用“e”命令时,它似乎可以工作:

(lldb) e defKeys
(__NSArrayI *) $1 = 0x000000011bd18220 @"35 elements"

您还应该能够将鼠标悬停在编辑器中的数组名称上,单击检查器眼球以显示其内存地址。

【讨论】:

请检查更新的问题,我已经尝试了所有这些解决方案,但它不起作用。 @BathantHegazy 嗯,你至少能用这个方法得到内存地址吗? ***.com/a/29741007/3731511

以上是关于LLDB 的数组地址的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使用 LLDB 打印内存地址的内容?

lldb----打印出类中所有函数的入口地址

在 LLDB 中获取有关坏内存地址的信息

为啥我在lldb中输入图像查找<地址>时没有输出? [关闭]

内存地址上的观察点