我为gdb编写了一个python函数来打印 数组以节省时间,每次都输入相同的行。
define print_array
print *($arg0)@(sizeof($arg0)/ sizeof($arg0[0])
end
它按预期工作,但当我尝试打印结构数组时,我收到以下错误:
>>> print_array opcode_list
A syntax error in expression, near `'.
>>>
当我手动输入时,它可以正常工作。
>>> print *(opcode_list)@(sizeof(opcode_list)/sizeof(opcode_list[0]))
$2 = {[0] = {
opcode_str = 0x401484 "halt",
output = 0
}, [1] = {
opcode_str = 0x401489 "pushc",
output = 1
}, ...
有人可以解释一下,我的错是什么? 并且还给我一个提示/更好的解决方案吗?
答案 0 :(得分:1)
您似乎错过了)
。
define print_array
print *($arg0)@(sizeof($arg0)/ sizeof($arg0[0]))
end