Отформатируйте вывод команды parray в консоли lldb в mac - PullRequest
0 голосов
/ 15 ноября 2018

Я отображаю массив (указатель внутри структуры, размер массива которого определяется calloc) с помощью команды lldb parray , приведенной здесь

Это показывает мне значение массива в следующем формате:

(float *) $0 = 0x123456789 {  
 (float) [0] = 0.0012   
 (float) [1] = 0.123456   
 (float) [2] = 0.0012   
 (float) [3] = 0.123456   
 .  
 .  
 .  

Я бы хотел отображать только значения массива

0.0012   
0.123456    
0.0012   
0.123456    
.  
.  
.  

Как мне это сделать консолью lldb? Я использую цель-с.

Кроме того, возможно ли отображать только диапазон значений (например, от 100-го до 150-го элемента)?

1 Ответ

0 голосов
/ 16 ноября 2018

Команда expr не контролирует, печатать ли имя / тип подэлементов агрегатного объекта. parray - это только конкретное использование команды expr. Так что вы не можете сделать это с помощью встроенных команд.

Вы можете довольно легко написать команду на основе python, чтобы вывести вывод массива, как вам бы хотелось.

Также не стесняйтесь подать запрос на улучшение с помощью http://bugs.llvm.org, чтобы добавить такую ​​опцию.

Вы можете сортировать диапазоны отображения, выполнив:

(lldb) parray 4 &array[10]
(int *) $2 = 0x0000000100300218 {
  (int) [0] = 10
  (int) [1] = 11
  (int) [2] = 12
  (int) [3] = 13
(lldb)

Конечно, нумерация выключена (но вы все равно не хотели это видеть ...)

...