我正在将 Windows 的 C 库代码移植到 android
当我在 NDK C 代码中创建动态分配的数组时,变量查看器窗口只显示第一个元素的地址和第一个元素的值
我想查看手机内存中的 所有数组成员
android studio中是否有用于NDK的内存查看器或类似的东西?
或者作为替代方案,我可以在 lldb 控制台中进行某种内存转储吗?
我正在将 Windows 的 C 库代码移植到 android
当我在 NDK C 代码中创建动态分配的数组时,变量查看器窗口只显示第一个元素的地址和第一个元素的值
我想查看手机内存中的 所有数组成员
android studio中是否有用于NDK的内存查看器或类似的东西?
或者作为替代方案,我可以在 lldb 控制台中进行某种内存转储吗?
您可以使用 LLDB (简称)命令打印动态分配的 int 数组,如下所示:(根据您自己的情况修改大小和类型)print
p
(lldb) print *(int (*)[5])foo2
它将输出int 数组的所有元素。见下面的截图:
对于 GUI 样式,您可以选择变量选项卡并使用与上述命令行类似的语句添加新手表,请参见下面的屏幕截图:
进而:
展开 watch 语句,您将看到所有元素如下:
编辑#1
使用parray
命令更简单:
(lldb) parray 5 foo2
(int *) $5 = 0x000072e200e2da70 {
(int) [0] = 20
(int) [1] = 8
(int) [2] = 55
(int) [3] = 6
(int) [4] = 52
}