Android Studio 有 NDK 内存查看器吗?

use*_*267 3 android android-ndk lldb memoryview android-studio-3.0

我正在将 Windows 的 C 库代码移植到 Android 中

当我在 NDK C 代码中创建动态分配的数组时,变量查看器窗口仅显示第一个元素的地址以及第一个元素的值

我想查看手机内存中的 所有数组成员

android studio中有NDK的内存查看器或类似的东西吗?

或者作为替代方案,我可以在 lldb 控制台中进行某种内存转储吗?

shi*_*hen 5

您可以使用 LLDB (简称)命令打印动态分配的int 数组,如下所示:(根据您自己的情况修改大小类型)printp

(lldb) print *(int (*)[5])foo2
Run Code Online (Sandbox Code Playgroud)

它将输出int 数组的所有元素。请看下面的截图:

在此输入图像描述

对于 GUI 样式,您可以选择“变量”选项卡并使用与上面所述的命令行类似的语句添加新的监视,请参见下面的屏幕截图:

在此输入图像描述

进而:

在此输入图像描述

展开被监视的语句,您将看到如下所有元素:

在此输入图像描述


编辑#1

使用parray命令更简单:

(lldb) parray 5 foo2
(int *) $5 = 0x000072e200e2da70 {
  (int) [0] = 20
  (int) [1] = 8
  (int) [2] = 55
  (int) [3] = 6
  (int) [4] = 52
}
Run Code Online (Sandbox Code Playgroud)