gpt4 book ai didi

gdb\bfd : get child variable address or size or offset

转载 作者:行者123 更新时间:2023-12-04 06:47:39 24 4
gpt4 key购买 nike

我正在使用 gdb 和 libbfd 从 elf 文件中检索全局变量信息并显示它。
我可以从 libbfd 获取以下数据:全局变量名称、地址和大小。
我使用 gdb 和 gdb\MI(ptype、whatis、-var-create 和 -var-list-children)检索变量及其子项的类型。

如何从所有 child 的 parent 那里获取地址\大小\偏移量?

例如

   type = struct {\n"
unsigned char count;\n"
unsigned char time;\n
}\n

如果这种类型的变量 A 在地址 0x000100 中,我想显示 A.count 在 0x000100 中,大小为 0x1,A.time 在 0x000101 中,大小为 0x1。

编辑:
我读过 gdb 可以读取 DWARF 信息,但我不知道如何从 gdb 获取这些信息。

最佳答案

这就是我最终所做的。
获取 尺寸 , 我用了:

p sizeof(A.time)

并获得 地址 我用了:
p /a &A.time

注意:这仅适用于大小大于 1 字节的变量。
为了能够以位为单位获得位域大小和偏移量,我必须根据 nabble 中提供的建议重新编译 GDB: Address of bitfield element bug?

关于gdb\bfd : get child variable address or size or offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3545928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com