如何访问Python GDB Value的键或值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何访问Python GDB Value的键或值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含902字,纯文字阅读大概需要2分钟。
内容图文
![如何访问Python GDB Value的键或值](/upload/InfoBanner/zyjiaocheng/799/9f20f46632ca47618f37cbc5628376bf.jpg)
我在GDB中有一个结构,并希望运行一个检查此结构的脚本.在Python GDB中,您可以轻松访问struct
(gdb) python mystruct = gdb.parse_and_eval("mystruct")
现在我得到了一个名为mystruct的变量,它是一个GDB.Value对象.我可以通过简单地将这个对象用作字典来访问结构的所有成员(如mystruct [‘member’]).
问题是,我的脚本不知道某个结构具有哪些成员.所以我想从这个GDB.Value对象中获取键(甚至是值).但是mystruct.values()和mystruct.keys()都没有在这里工作.
是否有可能访问此信息?我认为你不可能无法访问这些信息,但我没有在任何地方找到它.一个目录(mystruct)告诉我,没有键或值功能.我可以通过打印mystruct看到所有成员,但是有没有办法让成员在python中?
解决方法:
来自GDB documentation:
你可以得到像这样的mystruct类型:
tp = mystruct.type
并通过tp.fields()迭代fields
不需要邪恶的解决方法;-)
更新:
GDB 7.4刚刚发布.从announcement:
Type objects for struct and union types now allow access to
the fields using standard Python dictionary (mapping) methods.
内容总结
以上是互联网集市为您收集整理的如何访问Python GDB Value的键或值全部内容,希望文章能够帮你解决如何访问Python GDB Value的键或值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。