是否可以将GDB便利变量声明为数组?

时间:2013-07-30 20:31:44

标签: gdb

我想声明一个数组便利变量,例如

set $list[10]

但是我收到语法错误。

是否可以使用便利变量创建矢量?

我可以使用指针,如果我能找到GDB可以使用的绝对区域内存,那么目标程序就不会使用。

哦,顺便说一句,我没有使用与GDB不兼容的编译器调试目标程序的符号表。

我的GDB的跨目标版本不支持python。

2 个答案:

答案 0 :(得分:2)

我认为只有你在下级分配内存才有可能。也就是说,尝试类似:

set $list = (int *) malloc (10 * sizeof (int))

更改类型以适应。

另一个类似的选择是使用{...}功能。我不确定,但我认为这可能会在某些情况下分配内存。无论如何,试试:

print {1,2,3,4}[2]

我得到了

$1 = 3

答案 1 :(得分:0)

是的,可以。

例如,

(gdb) set $a = (int [3]) {0}
(gdb) p $a
$14 = {0, 0, 0}