是否可以查看动态分配数组的内容,例如:
int *array = new int[dimension];
我只看到指针的值。
编辑:刚刚发现了“显示为数组”的选项,但我总是需要手动输入数组的大小。是否可以自动获取它?
是否可以查看动态分配数组的内容,例如:
int *array = new int[dimension];
我只看到指针的值。
编辑:刚刚发现了“显示为数组”的选项,但我总是需要手动输入数组的大小。是否可以自动获取它?
在Eclipse中,若想查看动态分配数组的内容(对于其他遇到这个问题的人),请按照以下步骤:
而处理指针时,请注意在悬停在指针本身(箭头图标)上时单击“显示为数组”,而不是首先在它所引用的值上单击(例如在图片中的(x)= counts
位置)。
否则,您将看到对话框窗口中显示的错误类型如下:
Failed to execute MI command:
-data-evaluate-expression [specifics]
Error message from debugger back end:
Cannot access memory at address 0x[address of older*counts
]
该窗口位于列表下方(从上面的“名称:”开始)。
如果你想避免反复进行“显示为数组”的操作,打开“表达式”选项卡并添加表达式(*array@dimension)
。不确定为什么需要括号。没有它们,你会得到一个错误。
(*array@dimension)
,那么您可以动态设置要显示的数组大小。这甚至适用于需要另一个表达式来获取它的情况。x
,其中包含您的数组大小,您可以输入(*array@x)
,它将使用x的内容作为维度。(*array@SomePtrToStruct->x)
int samples[10][dimension];
?有没有一种方法可以将这样的数组可视化呢? - Jianyu(*samples@10@5)
创建一个10x5的二维数组。这对我有效。 - Michael Ansolis