5

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

set $list[10]

但我得到一个语法错误。

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

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

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

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

4

2 回答 2

4

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

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

更改类型以适应。

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

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

我明白了

$1 = 3
于 2013-07-31T01:39:13.013 回答
1

是的你可以。

例如,

(gdb) set $a = (int [3]) {0}
(gdb) p $a
$14 = {0, 0, 0}
于 2020-11-05T04:08:47.227 回答