gdb python: Walking through array of structures

2019-03-04 20:00发布

问题:

Can't we traverse the array of structs ? I mean for each index by checking the content of structs and print each field accordingly? As we can do for a struct like

s = gdb.parse_and_eval(expr)
for k in s.type.keys():
    v = s[k]
    if is_pointer(v):
          .....
    elif is_array(v):
          .....

How to get access control on elements at each indices of an array?

回答1:

You can index an array using the [] notation. Like, if 'v' is a gdb.Value representing an array or a pointer, you can fetch the 5th element with v[5].

The manual has a long section on the Value API that explains all of this.