我正在尝试找到一种方法来从 GDB 中的 python api 获取 c++ 类对象的成员列表。
到目前为止,我能找到的唯一解决方案是使用ptype <value>
然后尝试为成员解析它,我想知道是否有更好的方法我找不到。
我正在尝试找到一种方法来从 GDB 中的 python api 获取 c++ 类对象的成员列表。
到目前为止,我能找到的唯一解决方案是使用ptype <value>
然后尝试为成员解析它,我想知道是否有更好的方法我找不到。
如果你有一个被调用的值,my_name
你可以通过
val = gdb.parse_and_eval('my_name') #converts it to a gdb value
for field in val.type.fields():
return field.name, val[field.name]
# this gives you the member name and the gdb value.
有关 gdb.Types 的更多信息在这里
如果它是成员函数,我不知道如何得到它