Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux gdb调试打印数组元素

Linux下gdb调试打印数组元素以及说明

作者:凌肖战

这篇文章主要介绍了Linux下gdb调试打印数组元素以及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

打印数组元素

下面以下面代码为例,在 gdb 调试中进行打印操作,说明一下。

代码如下:

#include <stdio.h>
int main(void)
{
  int n = 0;
  int buffer[201] = {0};
  for(n = 0; n < 201; n++)
  {
    buffer[n] = n;
  }
  return 0;
}

1. 打印所有数组元素

gdb 调试中,有时候需要打印数组元素。但是默认情况下,打印数组元素最多会显示 200 个元素。

gdb 调试中,默认情况下,最多会显示 200 个元素。

如下所示:

设置打印数组元素数目

命令为:

(gdb) set print elements number-of-elements

设置打印数组元素无限制

命令为:

(gdb) set print elements 0

下面进行 gdb 调试,设置打印数组元素数目限制或无限制。

操作如下:

在运行程序之前,输入 " set print elements 5 " 命令设置打印 5 个数组元素。

之后打印数组元素时是 打印 5 个数组元素。

如下所示:

2. 打印任意连续连续数组元素

gdb 调试中,如果要打印数组中任意连续元素的值,

打印命令如下:

p buffer[index]@num

其中, index 是数组索引(从 0 开始计数),num 是连续多少个元素。

打印数组元素的下标,

设置命令为:

(gdb) set print array-indexes on

下面进行 gdb 调试打印,

操作如下:

可以看到,输入 " p buffer[3]@5 " 命令后,打印了数组第三个元素连续的 5 个元素。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文