Eclipse-C++ - 调试:查看数组的内容

bra*_*ter 24 c++ debugging eclipse-cdt

是否可以查看动态分配的数组的内容,如:

int *array = new int[dimension];
Run Code Online (Sandbox Code Playgroud)

我只看到指针的值.

编辑:刚找到"显示为数组"选项,但我总是要手动输入数组的大小.是否有可能实现自动化?

Ale*_*lor 41

在eclipse中,要查看动态分配的数组的内容(对于遇到此问题的其他任何人),

  1. 确保您处于调试透视图中.寻找"变量"窗口.如果您没有看到它,请单击"窗口">"显示视图">"变量".
  2. 右键单击数组变量
  3. 单击显示为数组
  4. eclipse不知道你的数组有多大,所以为起始索引键入0,为动态分配长度的元素数.

在eclipse中选择显示为数组


cle*_*ong 10

如果要避免重复执行"显示为数组",请打开"表达式"选项卡并添加表达式(*array@dimension).不确定为什么括号是必要的.没有他们你会得到一个错误.


小智 6

在"表达式"选项卡中,如果您执行了所记录并键入的内容,(*array@dimension)则可以动态设置要显示的数组大小.当你需要另一个表达式来获取它时,这甚至可以工作.

所以说你有一个x包含你的数组大小的变量,你键入(*array@x)它并且它将使用x的内容作为维度.

"x"也可以是结构内容或指针解引用之类的东西 - 即

(*array@SomePtrToStruct->x) 
Run Code Online (Sandbox Code Playgroud)

工作得很好.