- 打印数组 p *matrix@length
- 打印二维数组 p *matrix@cols@rows
- 打印二维数组 printMatrix matrix cols rowsdefine printMatrix
  set $arr = $arg0
  set $rows = $arg1
  set $cols = $arg2
  set $i = 0
  printf "\n"
  while $i < $rows
      set $j = 0
      while $j < $cols
          printf "%02d, ",$arr[$i][$j]
          set $j = $j + 1
      end
      printf "\n"
      set $i = $i + 1
  end
end
 
source code
#include <stdio.h>
int matrix[10][10];
void print(int matrix[10][10])
{
    int i, j;
    for (i = 0; i < 10; ++i)
    {
        for (j = 0; j < 10; ++j)
            printf("%d ", matrix[i][j]);
        printf("\n");
    }
}
int main()
{
    int i, j;
    for (i = 0; i < 10; ++i)
        for (j = 0; j < 10; ++j)
            matrix[i][j] = i*10 + j;
    return 0;
}
Example
(gdb) p *matrix[1]@10
$6 = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
(gdb) p *matrix[1]@5@2
$7 = {{10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}}
(gdb) source a.gdb
(gdb) printMatrix matrix 10 10
00, 01, 02, 03, 04, 05, 06, 07, 08, 09,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,