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

时间:2009-12-01 08:07:53

标签: c++ debugging eclipse-cdt

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

int *array = new int[dimension];

我只看到指针的值。

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

4 个答案:

答案 0 :(得分:40)

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

  1. 确保您处于调试透视图中。寻找“变量”窗口。如果你没有看到它,请点击“窗口”&gt; “show view”&gt; “变量”。
  2. 右键单击数组变量
  3. 点击显示为数组
  4. eclipse不知道你的数组有多大,所以输入起始索引的0和你为这个长度动态分配的元素数。
  5. choose display as array in eclipse

答案 1 :(得分:9)

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

答案 2 :(得分:5)

在&#34;表达式&#34;选项卡,如果您执行了所指出的操作并键入(*array@dimension),则可以动态设置要显示的数组大小。当你需要另一个表达式来获取它时,这甚至可以工作。

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

&#34; X&#34;也可以是结构内容或指针引用等等 - 即

(*array@SomePtrToStruct->x) 

工作正常。

答案 3 :(得分:3)

  

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

那很好。我坚持下去。在C或C ++的一般情况下,自动获取数组是不可能的,尽管在一些微不足道的情况下肯定可以完成(但可能不是,但是 - 功能需要在它们存在之前实现,用Raymond Chen的话来说)。