2016-11-21 46 views
3

我想用gdb调试器在C++语言中调试一个程序。如何在gdb中显示2d数组?

我有一个数组[100] [100],只想看到5个行和列的元素,而不是更多。

我可以处理使用下面的命令一维数组:

display *[email protected] 

但如何可以显示2D阵列?

我尝试了这些,但失败:

display *[email protected]*5 
display *[email protected] 5 
+2

尝试'显示** arr @ 5 @ 5' –

+0

是的,它工作感谢西蒙克拉默 –

回答

1

使用“双对”的功能打印然后调用它GDB几乎被它完成。在这里我添加一个链接到相同类型的问题。祝你好运!

Here an example

2

你可以创建一个函数来打印这些信息你想要的方式,说:

void print_matrix(int matrix[100][100], int number) 
{ 
    int i, j; 
    for (i = 0; i < number; ++i) 
    { 
     for (j = 0; j < number; ++j) 
      std::cout << matrix[i][j] << " "; 
     std::cout << "\n"; 
    } 
} 

然后调用它的GDB:

call print_matrix(arr, 5)