如何在gdb中显示2d数组? 我试图用GDB调试器调试C++程序。

如何在gdb中显示2d数组? 我试图用GDB调试器调试C++程序。,c++,c,debugging,gdb,trace,C++,C,Debugging,Gdb,Trace,我有一个数组[100][100],只想看到行和列的5个元素,而不是更多 我可以使用以下命令处理1d数组: display *arr@5 但是如何显示二维阵列呢 我尝试了这些,但失败了: display *arr@5*5 display *arr@5 5 对一个函数使用“double for”来打印它,然后在GDB上调用它,基本上就完成了。在这里,我添加了一个链接到同样的问题。祝你好运 您可以创建一个函数,以您想要的方式打印信息,例如: void print_matrix(int matrix

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

我可以使用以下命令处理1d数组:

display *arr@5
但是如何显示二维阵列呢

我尝试了这些,但失败了:

display *arr@5*5
display *arr@5 5
对一个函数使用“double for”来打印它,然后在GDB上调用它,基本上就完成了。在这里,我添加了一个链接到同样的问题。祝你好运


您可以创建一个函数,以您想要的方式打印信息,例如:

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";
    }
}

尝试
显示**arr@5@5
是的,成功了,谢谢西蒙·克雷默
call print_matrix(arr, 5)