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 了。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |