- 打印数组
p *matrix@length
- 打印二维数组
p *matrix@cols@rows
- 打印二维数组
printMatrix matrix cols rows
define 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,