Есть ли в Android Studio средство просмотра памяти NDK? - PullRequest
2 голосов
/ 17 апреля 2019

Я портирую код библиотеки C для Windows на Android

Когда я создаю динамически размещаемый массив в коде NDK C, окно просмотра переменных показывает мне только адреспервый элемент и значение первого элемента

Я хотел бы видеть все элементы массива в памяти телефона

Есть ли просмотрщик памяти или что-то подобное дляНДК в андроид студии?

Или, в качестве альтернативы, можно сделать какой-нибудь дамп памяти в консоли lldb?

1 Ответ

1 голос
/ 17 апреля 2019

Вы можете напечатать массив , динамически выделенный int, используя команду LLDB print (короче p), как показано ниже: (измените размер и введите согласно вашему собственному случаю)

(lldb) print *(int (*)[5])foo2

Он выдаст все элементы массива int. Смотрите скриншот ниже:

enter image description here

Для стиля GUI вы можете выбрать вкладку Variables и добавить новые часы, используя оператор, аналогичный приведенному выше в командной строке, см. Скриншот ниже:

enter image description here

А потом:

enter image description here

Разверните наблюдаемое утверждение, вы увидите все элементы, как показано ниже:

enter image description here


Редактировать # 1

Использование команды parray проще:

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