如何使用gdb"观察"C++动态数组?

Kei*_*iji 12 c++ gdb dynamic-arrays

请考虑以下示例:

int size = 10, *kk = new int[size];

for (int i = 0; i < size; i++) {
    kk[i] = i;
}

delete [] kk;
Run Code Online (Sandbox Code Playgroud)

如何为整个阵列添加手表?我可以逐个添加一个手表(kk [0],kk [1] ...),但是因为我知道数组的长度是否有办法自动完成?我的意思是像kk [0..size-1]左右.

我正在使用NetBeans IDE和cygwin g ++和gdb.

mkb*_*mkb 11

尝试display *kk@<size>从print命令的doc:

@是一个二元运算符,用于将内存中任何位置的连续数据对象视为数组.FOO @ NUM给出一个数组,其第一个元素是FOO,其第二个元素存储在存储FOO的空间之后,等等.FOO必须是其值存在于内存中的表达式.