c++ - 使用python api在gdb中列出值的成员
问题描述
我正在尝试找到一种方法来从 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 的更多信息在这里
如果它是成员函数,我不知道如何得到它
推荐阅读
- c# - 如何将以下字符串再次转换为日期字符串?
- php - 减少 MD5 - 使用不同的基数
- lucene - Lucene 查询语言和数值范围
- java - QueryDSL 中的 NumberExpression
- android - 当我使用 MediaRecorder.AudioSource.REMOTE_SUBMIX 创建 MediaRecorder 对象时
- javascript - 可以播放 MP3 并显示背景图像的 JavaScript 播放器?
- ruby-on-rails - 来自 chrome 检查器的网络技术。是用rails、node.js等写的页面
- python - 如何避免复制代码以相同的方式处理异常、未定义的变量和某些比较
- python - 从没有 NaN 值的多列中的值创建数组
- javascript - 即使我不从外部链接调用,React-native 链接 getinitialurl() 也有效