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

sas*_*alm 9 c++ qt windbg qt-creator

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


假设我有一个指向数组的指针,例如:

int arr[3];
int *p = new int[3];
Run Code Online (Sandbox Code Playgroud)

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

我尝试了各种建议从答案中QtCreator视图阵列内容查看数组内容在Qt Creator的调试器,但他们并没有为我工作:

在此输入图像描述

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

编辑:我忘了提,但p,3也行不通.

小智 5

添加到表达式求值器(菜单Window->Views->Locals and Expressions)

(int(*)[3])p
Run Code Online (Sandbox Code Playgroud)

这在基于 Qt 5.3.2(GCC 4.9.2,64 位)的 Qt Creator 3.2.1 中运行良好,构建于 2016 年 5 月 10 日 17:53:15。


ylu*_*ics -1

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

编辑: @sashoalm 您需要执行以下操作:

int *pindex[3];
for(int j=0; j< 3;j++){
    pindex[j]= p+j;
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以在调试器中看到你的所有 p 了。

希望这可以帮助。