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