【发布时间】:2013-07-30 20:31:43
【问题描述】:
我想声明一个数组便利变量,比如
set $list[10]
但我得到一个语法错误。
是否可以使用便利变量创建向量?
我可以使用指针,如果我能找到 GDB 可以使用但目标程序不会使用的绝对区域内存。
哦,顺便说一句,我没有我正在调试的目标程序的符号表,使用与 GDB 不兼容的编译器。
我手上的GDB跨目标版本不支持python。
【问题讨论】:
标签: gdb
我想声明一个数组便利变量,比如
set $list[10]
但我得到一个语法错误。
是否可以使用便利变量创建向量?
我可以使用指针,如果我能找到 GDB 可以使用但目标程序不会使用的绝对区域内存。
哦,顺便说一句,我没有我正在调试的目标程序的符号表,使用与 GDB 不兼容的编译器。
我手上的GDB跨目标版本不支持python。
【问题讨论】:
标签: gdb
我认为只有在低级分配内存才有可能。也就是说,尝试类似:
set $list = (int *) malloc (10 * sizeof (int))
更改类型以适合。
另一个类似的选项是使用 {...} 功能。我不确定,但我认为这可能会在某些情况下分配内存不足。无论如何,尝试:
print {1,2,3,4}[2]
我明白了
$1 = 3
【讨论】:
set $test="Hello",p perror($test) 工作正常。您甚至可以获取地址。
是的,你可以。
例如,
(gdb) set $a = (int [3]) {0}
(gdb) p $a
$14 = {0, 0, 0}
【讨论】: