2016-11-21 123 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)