下面以下面代码为例,在 gdb 调试中进行打印操作,说明一下。代码如下:
- #include
-
- int main(void)
- {
- int n = 0;
- int buffer[201] = {0};
-
- for(n = 0; n < 201; n++)
- {
- buffer[n] = n;
- }
-
- return 0;
- }
在 gdb 调试中,有时候需要打印数组元素。但是默认情况下,打印数组元素最多会显示 200 个元素。
在 gdb 调试中,默认情况下,最多会显示 200 个元素。如下所示:
设置打印数组元素数目,命令为:(gdb) set print elements number-of-elements
设置打印数组元素无限制,命令为: (gdb) set print elements 0
下面进行 gdb 调试,设置打印数组元素数目限制或无限制。操作如下:
在运行程序之前,输入 " set print elements 5 " 命令设置打印 5 个数组元素。之后打印数组元素时是 打印 5 个数组元素。如下所示:
在 gdb 调试中,如果要打印数组中任意连续元素的值,打印命令如下:
p buffer[index]@num
其中, index 是数组索引(从 0 开始计数),num 是连续多少个元素。
打印数组元素的下标,设置命令为:(gdb) set print array-indexes on
下面进行 gdb 调试打印,操作如下:
可以看到,输入 " p buffer[3]@5 " 命令后,打印了数组第三个元素连续的 5 个元素。