在Qt Creator中将指针显示为数组,其中CDB用于调试器

时间:2015-03-17 09:22:53

标签: c++ qt qt-creator windbg

编辑2:如果不可能,我会将赏金奖励给证明它的答案(我的意思是提供一些可靠的消息来源支持它的声明)不可能)。


我们说我有一个指向数组的指针,例如:

int arr[3];
int *p = new int[3];

我可以看到arr的所有元素,但只能看到p的第一个元素。如何查看p的所有3个元素?

我尝试了来自View Array contents in QtCreatorView Array contents in Qt Creator debugger的答案中的各种建议,但它们并不适用于我:

enter image description here

我认为这是因为我在CDB上,而其他两个问题是针对GDB的。是否有可能为CDB实现相同目标?

修改:我忘了提及,但p,3也不起作用。

3 个答案:

答案 0 :(得分:2)

添加到表达式评估器(菜单窗口 - >视图 - >本地和表达式)

(int(*)[3])p

在Qt Creator 3.2.1中工作正常基于Qt 5.3.2(GCC 4.9.2,64 bit),建于2016年5月10日17:53:15。

答案 1 :(得分:-1)

您可以使用*(p + 1)和*(p + 2)来访问另外两个元素。

修改 @sashoalm你需要在下面这样做:

int *pindex[3];
for(int j=0; j< 3;j++){
    pindex[j]= p+j;
}

然后,您将能够在调试器中看到所有的p。

希望这会有所帮助。

答案 2 :(得分:-2)

要查看* p:

的所有元素
  1. 右键单击“本地和表达式”。
  2. 输入*(p + 1)和*(p + 2)。
  3. 所以,你可以看到所有三个元素。